Skip to main content

API Reference

The NestJS API is served under the global /api prefix (e.g. POST /api/auth/login) with interactive Swagger at /api/docs. Unless marked Public, every endpoint requires a valid access-token JWT; fine-grained access is enforced by @CheckPolicies (CASL — see Roles & Permissions). The tables below list the route, what it does, and the required CASL ability ( = any authenticated user).

This is a hand-maintained summary; the authoritative, always-current contract is the generated OpenAPI spec (pnpm --filter @cbdc-issuer/api generate:openapi) and the live Swagger UI.

Auth — /api/auth

Method & pathDescriptionAuth
POST /loginEmail + password loginPublic
POST /registerRegister from an invitationPublic
POST /refreshRotate refresh cookie, issue new access tokenPublic (reads cookie)
POST /logoutInvalidate the sessionauthenticated
POST /forgot-passwordRequest a reset linkPublic
POST /reset-passwordReset password via tokenPublic
POST /change-passwordChange own passwordauthenticated

App config — /api/config

Method & pathDescriptionAuth
GET /Public runtime config (currencyName, native token id, …)Public

Users — /api/users

Method & pathDescriptionAbility
GET /List internal usersread · User
GET /selectableUsers selectable as account membersread · User
GET /:idGet a userread · User
PATCH /me/pinned-walletsUpdate own pinned accountsread · User
PATCH /me/localeUpdate own localeread · User
PATCH /:id/rolesChange a user's rolesmanage · User
PATCH /:id/deactivateDeactivate a usermanage · User

Invitations — /api/invitations

Method & pathDescriptionAbility
POST /Create an invitationmanage · Invitation
GET /List invitationsread · Invitation
GET /validate/:tokenValidate an invite tokenPublic
POST /:id/revokeRevoke an invitationmanage · Invitation
POST /:id/resendResend an invitationmanage · Invitation

Organizations — /api/organizations

Method & pathDescriptionAbility
GET /List organizations (Central only)read · Organization
GET /:idGet an organizationread · Organization
POST /Create an organizationmanage · Organization
PATCH /:idUpdate an organizationmanage · Organization
POST /:id/admins/inviteInvite an org adminmanage · Organization
POST /:id/exchange-addressSet exchange addressmanage · Organization
POST /:id/freeze · /unfreezeFreeze / unfreeze exchangemanage · Organization
PATCH /:id/chain-rpcUpdate per-org RPCmanage · Organization
POST /:id/chain-rpc/testTest an RPC endpointmanage · Organization

Bridging — /api/organizations/:id

Method & pathDescriptionAbility
POST /disbursement-requestFiat → CBDC disbursementmanage · Bridging
POST /redemption-requestCBDC → fiat redemptionmanage · Bridging

Accounts (multisigs) — /api/multisigs

Method & pathDescriptionAbility
GET /List accounts
POST /Create a custom accountcreate · Multisig
GET /:idAccount detail
GET /:id/membersMembers
GET /:id/policyDecision policy
GET /:id/balanceLive balance
GET /:id/healthChain reachability for the account
PATCH /:idEdit labelmanage · Multisig
POST /:id/archive · /unarchiveArchive / unarchivemanage · Multisig

Proposals — /api/multisigs/:multisigId/proposals

Method & pathDescriptionAbility
POST /mintMint proposalcreate · Proposal
POST /burnBurn proposalcreate · Proposal
POST /transferTransfer proposalcreate · Proposal
POST /group-changesGroup-change proposalcreate · Proposal
GET /List proposalsread · Proposal
GET /:proposalIdProposal detailread · Proposal
POST /:proposalId/executeExecute (if pending exec)create · Proposal
POST /:proposalId/withdrawWithdraw proposalcreate · Proposal

GET /api/approval-queue lists proposals awaiting the caller's vote (read · Proposal).

Votes — /api/multisigs/:multisigId/proposals/:proposalId/votes

Method & pathDescriptionAbility
POST /Cast a vote (EXEC_TRY)create · Vote
GET /List votesread · Vote

Whitelist — /api/multisigs/:multisigId/whitelist

Method & pathDescriptionAbility
GET /List whitelist entries
POST /Add entrymanage · WhitelistAddress
PATCH /:addressIdEdit entrymanage · WhitelistAddress
DELETE /:addressIdRemove entrymanage · WhitelistAddress

Operations & activity — /api/operations, /api/activity-log

Method & pathDescriptionAbility
GET /operations/lookupResolve an operation by attributesread · Operation
GET /operations/:operationIdOperation detail
GET /activity-logUnified activity feedread · Operation

Tokens — /api/tokens

Method & pathDescriptionAbility
GET /List tokens
GET /:idToken detail
GET /autodetectAutodetect on-chain tokenmanage · Token
POST /Create tokenmanage · Token
PATCH /:idUpdate tokenmanage · Token
DELETE /:idRemove tokenmanage · Token

Address book — /api/address-book

Method & pathDescriptionAbility
GET /List entriesread · AddressBook
POST /Add entrymanage · AddressBook
PATCH /:entryIdEdit entrymanage · AddressBook
DELETE /:entryIdDelete entrymanage · AddressBook

Control panel — /api/control-panel

Method & pathDescriptionAbility
GET /alertsOperational alertsmanage · Organization
GET /internal-usersInternal-users listingmanage · User

Dashboard & export

Method & pathDescriptionAbility
GET /api/dashboard/metricsSupply / balances / external circulatingread · Dashboard
GET /api/export/transactionsExport transactions (csv/json)read · Export
GET /api/export/governanceExport governance activityread · Export