Skip to content

Get your own wallet balance

GET
/api/v1/wallet/balance
curl --request GET \
--url https://api-omni.linra.net/api/v1/wallet/balance \
--header 'Authorization: Bearer <token>'

Self-only by construction — there is no partnerId parameter anywhere on this endpoint; the partner is whoever the bearer token identifies. availableBalance already accounts for active reservations (it is what you can actually spend right now).

The caller’s wallet balance.

Media typeapplication/json
object
state
required
string
payload
required
details
object
payload
required

Deliberately narrower than the internal-admin wallet view — omits minBalanceThreshold (an internal risk/floor setting) and walletStructure/isActive (internal account topology).

object
currency
string
currentBalance
number format: decimal
availableBalance

CurrentBalance minus every active, non-expired reservation — the same figure the reserve/debit paths enforce.

number format: decimal
displayCurrency
string
nullable
rate
number
nullable
currentBalanceDisplay
number
nullable
availableBalanceDisplay
number
nullable
Example
{
"state": "SUCCESS",
"payload": {
"currency": "SAR"
}
}

The partner has no wallet provisioned.

Media typeapplication/json

The envelope every /api/v1 ERROR response uses. state carries the machine-readable error code (see the Errors guide).

object
state
required
string
payload
required

Always null on an error response.

object
details
object
Examples
ExamplenotFound
{
"state": "NOT_FOUND_WALLET",
"payload": null,
"details": {}
}

Too many requests — see the Rate limits guide. Retry after the Retry-After header (seconds).

Media typeapplication/json

The envelope every /api/v1 ERROR response uses. state carries the machine-readable error code (see the Errors guide).

object
state
required
string
payload
required

Always null on an error response.

object
details
object
Example
{
"state": "NOT_FOUND_ORDER",
"payload": null
}
Retry-After
integer

Seconds to wait before retrying.