API reference · Meter charges

Get my meter charges

GET/v1/wallets/{walletId}/meter-charges

Find this application's operations in an authorized wallet by status and date.

Permissionmeter_charges:read
AuthenticationSigned read
Anis’s answerNot signed
Staff-set limits it counts towardAll requests
.NET SDKanis.MeterCharges.GetMeterChargesAsync(walletId, query)
  • Only your application's operations in this authorized wallet are returned, newest first. Filters combine: status (processing|succeeded|failed), exact meterNumber (1 to 64 ASCII digits), from/to in UTC, cursor (at most 2048 characters), and optional pageSize (default 50, range 1–100). Request at most 31 days; absent dates select the last 31 days. Pass nextCursor unchanged with the same filters and page size until it is null. Correct filters or the cursor after validation_failed (422); never repeat a purchase to recover a list.
  • Receipts and tokens are available only on the signed detail read; this list never returns a processing 202.

Parameters

NameInTypeNotes
walletIdrequiredpathUUIDA UUID, lower-case with hyphens.
statusoptionalqueryMeterChargeStatusOptional charge status: processing, succeeded or failed.
meterNumberoptionalquerystringOptional exact meter number filter: 1 to 64 ASCII digits; preserve leading zeros.
fromoptionalquerystringOptional inclusive UTC period bound; request at most 31 days. Absent bounds select the last 31 days.
tooptionalquerystringOptional inclusive UTC period bound; request at most 31 days. Absent bounds select the last 31 days.
cursoroptionalquerystringThe nextCursor of the previous page, passed back exactly as received. Leave it out for the first page.
pageSizeoptionalqueryintegerOptional page size from 1 to 100; default 50.

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.MeterChargeCollection
400Refused: the signed request is badly built.Problem
401Refused: not authenticated.Problem
403Refused: not allowed.Problem
404Refused: not found, or not yours.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

Types

MeterChargeCollection

FieldTypeNotes
itemsalways presentlist of MeterChargeSummaryThe records on this page.
nextCursoralways presentstringPass this opaque value unchanged as cursor; null marks the last page.

MeterChargeSummary

FieldTypeNotes
operationIdalways presentUUIDThe same UUID sent as Idempotency-Key for this purchase.
statusalways presentMeterChargeStatusprocessing, succeeded or failed; receipts, tokens, failure and refund details are available on the signed detail read.
meterNumberalways presentstringThe meter number as text; preserve leading zeros.
packagealways presentMeterChargePackageThe package recorded for this charge.
totalalways presentMoneyThe frozen total wallet cost in every state, as LYD Money.
externalReferencestringYour reference, included when supplied.
createdAtalways presentstring (date-time)When the charge was recorded, in UTC.
completedAtstring (date-time)When the charge succeeded; omitted in processing and failed states.

MeterChargeStatus

MeterChargePackage

FieldTypeNotes
idalways presentUUIDThe meter package identifier.
namealways presentstringOne stored package name, not a bilingual text object.
gecolPackageNamealways presentstringThe electricity supplier's package name.

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.