A page of movements, filtered, with a cursor. A limit is required.
const url = 'https://example.com/v1/movements';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://example.com/v1/movements \ --header 'Authorization: Bearer <token>'Lists the entries made against a subject’s accounts, oldest first, one page at a time. Name
exactly one subject: account or identity. Naming both, or neither, is refused as
ERR-QueryUnbounded. limit is required, from 1 to 1000; a
request without it, or past it, is refused the same way. from and to come together, in
milliseconds since the Unix epoch: from is inclusive and to is exclusive, and from may
not be after to. A parameter this route does not know, a value that does not parse
(limit=ten), a direction that is neither debit nor credit, an account, identity or
asset that is not a valid identifier or symbol, and a cursor that is not hex are refused as
ERR-MalformedCommand (amendment 0032, REQ-ER-3), never ignored. A page may hold fewer movements than limit and still carry next: keep
passing next back as cursor until a page comes without one.
Authorizations
Section titled “Authorizations”Parameters
Section titled “ Parameters ”Query Parameters
Section titled “Query Parameters”The subject: one account, as a did:aledgent:acct: identifier.
Only this asset, by its symbol.
Only against this counterparty: the ledger account on the other side of the movement.
The previous page’s next, passed back unchanged. It belongs to the request that made
it: a cursor sent with other filters is refused.
Only debit or credit; any other value is refused as ERR-MalformedCommand.
From this time, in milliseconds since the Unix epoch. Inclusive: a movement at exactly
this time is returned. Send it together with to.
The subject: one identity, as a did:aledgent:id: identifier. Every account of it the
caller reaches is read.
The page size, from 1 to 1000. Required: an unbounded page is refused. Any value made of
digits is a count, and one above 1000 is outside the bound (ERR-QueryUnbounded),
however many digits it has; a value that is not made of digits is a shape fault
(ERR-MalformedCommand).
Only movements on this account, which must be one of the subject’s (useful when the subject is an identity).
Up to this time, in milliseconds since the Unix epoch. Exclusive: a movement at exactly
this time is not returned. Send it together with from.
Responses
Section titled “ Responses ”The answer, from one consistent view (REQ-QR-2).
A page of movements (REQ-QR-5).
object
The movements.
One movement: one entry against one account.
object
The account.
Minor units.
The asset.
The posting’s time.
The authorities that caused it.
An authority a posting relied on, and who used it (REQ-AU-7, INV-20).
object
The credential it presented.
The grant, where one was used.
owner, delegated, operator, issuance or recovery.
Whom it acted for.
The principal that used it.
available, reserved or encumbered.
The ledger account on the other side, where there is one.
debit or credit.
The posting’s kind.
The operation.
The posting’s sequence number.
held, completed, returned, reversed or opening.
The cursor of the next page, hex.
The view it was read at.
Examplegenerated
{ "movements": [ { "account": "example", "amount": "example", "asset": "example", "at": 1, "authorities": [ { "credential": "example", "grant": "example", "kind": "example", "on_behalf_of": "example", "principal": "example" } ], "balance": "example", "counterparty": "example", "direction": "example", "kind": "example", "operation": "example", "reference": "example", "seq": 1, "status": "example" } ], "next": "example", "view": 1}Refused, with the named condition. The status is the alternative’s x-http-status.
- ERR-NotAuthorised
- ERR-AuthorityRevoked
- ERR-CredentialInvalid
- ERR-RecoveryNotElapsed
- ERR-UnboundedGrant
- ERR-BoundExceeded
- ERR-UnknownAccount
- ERR-AccountFrozen
- ERR-AccountClosed
- ERR-AccountNotEmpty
- ERR-IdentityRestricted
- ERR-UnknownAsset
- ERR-AssetDeprecated
- ERR-PrecisionExceeded
- ERR-ZeroAmount
- ERR-InsufficientAvailable
- ERR-AmountMismatch
- ERR-ReleaseUnsafe
- ERR-OperationTerminal
- ERR-InvalidTransition
- ERR-UnknownOperation
- ERR-DeadlineRequired
- ERR-ClientKeyReused
- ERR-BatchTooLarge
- ERR-UnsupportedLeg
- ERR-SettlementLayerUnavailable
- ERR-DecisionUnavailable
- ERR-ObservationDuplicate
- ERR-ObservationUnassociated
- ERR-EvidenceInsufficient
- ERR-JustificationRequired
- ERR-ApprovalRequired
- ERR-DisclosureUnsupported
- ERR-DisclosureFalse
- ERR-NotDisclosable
- ERR-AnchorNotFinal
- ERR-QueryUnbounded
- ERR-MalformedCommand
- ERR-InitialStateNotSealed
- ERR-IdentifierArchived
- ERR-Internal
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
Example
{ "description": "The initiating principal holds no authority that covers this operation, account, asset or bound", "error": "ERR-NotAuthorised"}Refused, with the named condition. The status is the alternative’s x-http-status.
- ERR-NotAuthorised
- ERR-AuthorityRevoked
- ERR-CredentialInvalid
- ERR-RecoveryNotElapsed
- ERR-UnboundedGrant
- ERR-BoundExceeded
- ERR-UnknownAccount
- ERR-AccountFrozen
- ERR-AccountClosed
- ERR-AccountNotEmpty
- ERR-IdentityRestricted
- ERR-UnknownAsset
- ERR-AssetDeprecated
- ERR-PrecisionExceeded
- ERR-ZeroAmount
- ERR-InsufficientAvailable
- ERR-AmountMismatch
- ERR-ReleaseUnsafe
- ERR-OperationTerminal
- ERR-InvalidTransition
- ERR-UnknownOperation
- ERR-DeadlineRequired
- ERR-ClientKeyReused
- ERR-BatchTooLarge
- ERR-UnsupportedLeg
- ERR-SettlementLayerUnavailable
- ERR-DecisionUnavailable
- ERR-ObservationDuplicate
- ERR-ObservationUnassociated
- ERR-EvidenceInsufficient
- ERR-JustificationRequired
- ERR-ApprovalRequired
- ERR-DisclosureUnsupported
- ERR-DisclosureFalse
- ERR-NotDisclosable
- ERR-AnchorNotFinal
- ERR-QueryUnbounded
- ERR-MalformedCommand
- ERR-InitialStateNotSealed
- ERR-IdentifierArchived
- ERR-Internal
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
Example
{ "description": "The initiating principal holds no authority that covers this operation, account, asset or bound", "error": "ERR-NotAuthorised"}Headers
Section titled “Headers”On ERR-DecisionUnavailable (503): seconds to wait before retrying with the same client key (DEC-27 (g)).
© 2026 Pagos Cube LLC · Code: Apache-2.0 OR MIT · agents/: AGPL-3.0-or-later · Docs: CC-BY-4.0