API reference · Direct recharge

Quote a direct recharge product

GET/v1/wallets/{walletId}/direct-recharge-products/{productId}/quote

Check the payout and total wallet cost before buying. A quote reserves no money and can change. Billing products (billing) are not available yet.

Permissiondirect_recharges:read
AuthenticationSigned read
Anis’s answerNot signed
Staff-set limits it counts towardAll requests
.NET SDKanis.DirectRechargeProducts.QuoteAsync(walletId, productId, amount, amountIn)

Parameters

NameInTypeNotes
walletIdrequiredpathUUIDA UUID, lower-case with hyphens.
productIdrequiredpathUUIDA UUID, lower-case with hyphens.
amountrequiredquerystringThe amount to quote as a decimal string.
amountInrequiredquerystringlyd for dinar input, fx for payout-currency input.

Request

Signed with your key. No body, no nonce.

Headers: Signature-Input, Signature, X-Anis-Date, Accept-Language (optional). The SDKs set all of them for you.

Body: none.

Responses

StatusMeaningBody
200Success.DirectRechargeQuote
400Refused: the signed request is badly built.Problem
401Refused: not authenticated.Problem
403Refused: not allowed.Problem
404Refused: not found, or not yours.Problem
409Refused: conflicts with the current state.Problem
422Refused: the request breaks a rule.Problem
429Refused: a limit was reached.Problem
503No decision: a dependency was unavailable.Problem

The answers of this call are not signed — no Signature or Signature-Input header, success or refusal. There is nothing to verify; TLS protects them. Content-Digest and X-Request-Id are still present.

Refusals

A refusal of this call is a problem without a signature. Branch on its code; each links to what it means and what to do.

ErrorCodeStatus
Invalid credentialsinvalid_credentials401
Malformed signed requestmalformed_signed_request400
Insufficient scopeinsufficient_scope403
Source address not allowedsource_ip_not_allowed403
Rate limitedrate_limited429
Validation failedvalidation_failed422
Service unavailabledependency_unavailable503
Request timeoutrequest_timeout504
Internal errorinternal_error500
Account not authorisedbinding_not_authorized403
Account inactiveaccount_inactive403
Wallet not grantedwallet_not_granted404
Not foundresource_not_found404
Currency not supportedcurrency_not_supported422
Direct recharge product unavailabledirect_recharge_product_unavailable409
Amount outside limitsamount_out_of_range422

Types

DirectRechargeQuote

FieldTypeNotes
productIdalways presentUUIDThe selected direct recharge product id.
payoutalways presentDirectRechargePayoutThe payout string and named currency; not the LYD Money shape.
exchangeRatealways presentstringThe quoted exchange rate as a decimal string.
pricealways presentMoneyThe LYD price including applicable location and holder adjustments.
commissionalways presentMoneyThe LYD commission included in total.
totalalways presentMoneyThe total wallet cost, as LYD Money. The balance check is exact up to 999,999.999 LYD.

DirectRechargePayout

FieldTypeNotes
amountalways presentstringThe payout amount as a decimal string.
currencyalways presentDirectRechargeCurrencyThe payout currency display name object.

DirectRechargeCurrency

FieldTypeNotes
namealways presentstringThe display name supplied for this item.

Money

FieldTypeNotes
amountalways presentstringA decimal string, never a JSON number. Wallet balances may be negative while allowed debt is used. Prices and totals follow each route's amount rules.
currencyalways presentstringAn uppercase three-letter currency code, such as LYD. Read a wallet’s currency from balance.currency.
asOfstring (date-time)When this price or balance was read.