Skip to content

Get a purchase

GET
/purchases/{purchase_id}
curl --request GET \
--url https://api.poweredbyaura.com/v1/purchases/pur_01JA7ZK3Q9W2D8M5X4N6B1C0VE \
--header 'Authorization: Bearer <token>'
purchase_id
required
string

Example

pur_01JA7ZK3Q9W2D8M5X4N6B1C0VE

The purchase in its current state.

Media typeapplication/json
object
id
required
string
object
required
string
Allowed value: purchase
reference
required
string
status
required

pending: accepted, waiting for the network’s confirmation. successful: the network confirmed the bundle was credited, and you were charged. failed: the bundle was not credited, and you were not charged. reversed: the network reversed a successful bundle, and you were refunded. successful, failed and reversed are final, except that successful can become reversed.

string
Allowed values: pending successful failed reversed
phone_number
required
string
network_id
required
string
bundle
required

The bundle as it was when bought.

object
id
required
string
name
required
string
data_mb
required
integer
validity_hours
required
integer
price
required

The amount held while pending, charged if successful, and refunded if reversed.

object
amount
required

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

integer
currency
required

ISO 4217 currency code.

string
/^[A-Z]{3}$/
created_at
required
string format: date-time
resolve_by
required

The latest time by which this purchase will reach a final state. If the network has not confirmed by then, the purchase fails with network_timeout and nothing is charged.

string format: date-time
completed_at
required

When the purchase reached successful or failed.

string | null format: date-time
delivery
required

Present once the network has confirmed the bundle was credited.

object
confirmed_at
required
string format: date-time
network_reference
required

The network’s own reference for the credit, when the network provides one.

string | null
failure
required

Present when the purchase failed.

object
code
required

Why a purchase failed. New codes may be added in v1.

string
Allowed values: network_rejected number_not_eligible bundle_unavailable network_timeout internal_error
message
required
string
reversal
required

Present when a successful purchase was reversed.

object
reversed_at
required
string format: date-time
reason
required
string
metadata
required
object
key
additional properties
string

Examples

Confirmed by the network

{
"id": "pur_01JA7ZK3Q9W2D8M5X4N6B1C0VE",
"object": "purchase",
"reference": "order-10293",
"status": "successful",
"phone_number": "+2348000000001",
"network_id": "net_ng_a",
"bundle": {
"id": "bnd_ng_a_1gb_1d",
"name": "1GB Daily",
"data_mb": 1024,
"validity_hours": 24
},
"price": {
"amount": 35000,
"currency": "NGN"
},
"created_at": "2026-10-12T09:14:30Z",
"resolve_by": "2026-10-12T09:44:30Z",
"completed_at": "2026-10-12T09:14:31Z",
"delivery": {
"confirmed_at": "2026-10-12T09:14:31Z",
"network_reference": "A-8841207731"
},
"failure": null,
"reversal": null,
"metadata": {
"customer_id": "cus_88412"
}
}
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.

No such resource on your account.

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

ExamplenotFound
{
"error": {
"code": "not_found",
"message": "No purchase pur_01JA7ZK3Q9W2D8M5X4N6B1C0VX on this account.",
"retryable": false,
"request_id": "req_8Wc3Ld5YhF2k"
}
}
Aura-Request-Id
string
Example
req_7Kp2Vx9QmR4t

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