Skip to content

List bundles

GET
/bundles
curl --request GET \
--url 'https://api.poweredbyaura.com/v1/bundles?network_id=net_ng_a&country=NG&limit=25' \
--header 'Authorization: Bearer <token>'

Returns the bundles available to your account at your contracted price. Prices are specific to your account and are never shown in these docs.

network_id
string

Only bundles on this network.

Example

net_ng_a
country
string
/^[A-Z]{2}$/

Only bundles in this country (ISO 3166-1 alpha-2).

Example

NG
available
boolean

Set to true for bundles that can be bought right now.

limit
integer
default: 25 >= 1 <= 100

Items per page, from 1 to 100.

cursor
string

The next_cursor from the previous page.

A page of bundles.

Media typeapplication/json
object
object
required
string
Allowed value: list
data
required
Array<object>
object
id
required
string
object
required
string
Allowed value: bundle
network_id
required
string
name
required

The bundle’s name as shown to your customer.

string
data_mb
required

Data allowance in megabytes (1 GB = 1024 MB).

integer
validity_hours
required

How long the customer has to use the data after it is credited.

integer
price
required

Your contracted price for this bundle.

object
amount
required

Amount in the currency’s minor unit (kobo for NGN).

integer
currency
required

ISO 4217 currency code.

string
/^[A-Z]{3}$/
available
required

Whether the bundle can be bought right now.

boolean
has_more
required
boolean
next_cursor
required
string | null

Examples

Examplebundles

Bundles on one network

{
"object": "list",
"data": [
{
"id": "bnd_ng_a_1gb_1d",
"object": "bundle",
"network_id": "net_ng_a",
"name": "1GB Daily",
"data_mb": 1024,
"validity_hours": 24,
"price": {
"amount": 35000,
"currency": "NGN"
},
"available": true
},
{
"id": "bnd_ng_a_5gb_7d",
"object": "bundle",
"network_id": "net_ng_a",
"name": "5GB Weekly",
"data_mb": 5120,
"validity_hours": 168,
"price": {
"amount": 150000,
"currency": "NGN"
},
"available": true
}
],
"has_more": false,
"next_cursor": null
}
Aura-Request-Id
string
Example
req_7Kp2Vx9QmR4t

A unique ID for this request. Quote it when you contact your technical contact.

The request is malformed or a field is invalid. Fix it before retrying.

Media typeapplication/json
object
error
required
object
code
required

A stable, machine-readable code. New codes may be added in v1, so treat an unknown code by its HTTP status and retryable flag.

string
Allowed values: invalid_request invalid_phone_number invalid_api_key ip_not_allowed not_found insufficient_balance reference_conflict bundle_unavailable network_mismatch unsupported_network rate_limited internal_error network_unavailable
message
required

A human-readable explanation. Do not parse it; use code.

string
param

The request field the error is about, when there is one.

string
retryable
required

Whether the same request can succeed if you retry it later.

boolean
request_id
required
string
details

Extra facts about the error, such as the existing purchase or the network’s status.

object
key
additional properties
any

Examples

ExampleinvalidPhoneNumber
{
"error": {
"code": "invalid_phone_number",
"message": "phone_number must be in E.164 format, such as +2348000000001.",
"param": "phone_number",
"retryable": false,
"request_id": "req_9Qd4Hs1XvB7n"
}
}
Aura-Request-Id
string
Example
req_7Kp2Vx9QmR4t

A unique ID for this request. Quote it when you contact your technical contact.

The API key is missing, wrong or revoked.

Media typeapplication/json
object
error
required
object
code
required

A stable, machine-readable code. New codes may be added in v1, so treat an unknown code by its HTTP status and retryable flag.

string
Allowed values: invalid_request invalid_phone_number invalid_api_key ip_not_allowed not_found insufficient_balance reference_conflict bundle_unavailable network_mismatch unsupported_network rate_limited internal_error network_unavailable
message
required

A human-readable explanation. Do not parse it; use code.

string
param

The request field the error is about, when there is one.

string
retryable
required

Whether the same request can succeed if you retry it later.

boolean
request_id
required
string
details

Extra facts about the error, such as the existing purchase or the network’s status.

object
key
additional properties
any

Examples

ExampleinvalidKey
{
"error": {
"code": "invalid_api_key",
"message": "The API key is not valid.",
"retryable": false,
"request_id": "req_2Mz6Rt8KcW1p"
}
}
Aura-Request-Id
string
Example
req_7Kp2Vx9QmR4t

A unique ID for this request. Quote it when you contact your technical contact.

Too many requests. Wait for Retry-After seconds, then retry.

Media typeapplication/json
object
error
required
object
code
required

A stable, machine-readable code. New codes may be added in v1, so treat an unknown code by its HTTP status and retryable flag.

string
Allowed values: invalid_request invalid_phone_number invalid_api_key ip_not_allowed not_found insufficient_balance reference_conflict bundle_unavailable network_mismatch unsupported_network rate_limited internal_error network_unavailable
message
required

A human-readable explanation. Do not parse it; use code.

string
param

The request field the error is about, when there is one.

string
retryable
required

Whether the same request can succeed if you retry it later.

boolean
request_id
required
string
details

Extra facts about the error, such as the existing purchase or the network’s status.

object
key
additional properties
any

Examples

ExamplerateLimited
{
"error": {
"code": "rate_limited",
"message": "Too many requests. Retry after 2 seconds.",
"retryable": true,
"request_id": "req_6Yf2Pk8GwN4s"
}
}
Aura-Request-Id
string
Example
req_7Kp2Vx9QmR4t

A unique ID for this request. Quote it when you contact your technical contact.

Retry-After
integer

Seconds to wait before retrying.

RateLimit-Limit
integer

Requests allowed in the current window.

RateLimit-Remaining
integer

Requests left in the current window.

RateLimit-Reset
integer

Seconds until the current window resets.