Skip to Content
REST APIOverview

REST API overview

The base URL is operator-configured for this milestone — there is no fixed public production origin (PORT/host are set by whoever runs the service). Every request and response body is JSON.

Credentials

Two independent, header-only schemes (see Authentication / API keys for the full flow):

  • Authorization: ApiKey <key> — required for the data-plane rate endpoint (current rate).
  • Authorization: Session <token> — required for account/API-key/usage management endpoints.

Request id

Every response echoes X-Request-Id. Include it when reporting an issue — it also appears in every error body (below).

Errors

Every non-2xx response uses the same envelope:

{ "code": "unauthorized", "message": "A valid API key is required.", "request_id": "..." }

code is the only machine-readable discriminator; message is a display string and must never be pattern-matched by client code. See Errors for the full reference table.

What’s on REST today — and what isn’t

The current REST surface for data access is:

MethodPathAuthPurpose
GET/v1/rates/{base}/{quote}ApiKeyCurrent rate
GET/v1/account/usageSessionUsage & quotas
POST/GET/DELETE/v1/account/api-keys[...]SessionAPI key management
POST/GET/v1/auth/*mixedregister/login/logout/session/verify/reset

There is no REST endpoint for currency conversion and no REST endpoint for asset-catalog listing. Those two capabilities exist today only as hosted MCP tools — convert_currency, list_fiat_currencies, and list_crypto_assets. If you need conversion math or a list of supported assets, use the MCP tools instead of REST; this is current, intentional product state, not a gap in this documentation.

Need this over MCP instead? See convert_currency → or list_fiat_currencies → / list_crypto_assets →.