Overview

The Mansa API is organized around REST. It uses predictable, resource-oriented URLs under a versioned base path, accepts JSON request bodies (file uploads use multipart/form-data), returns JSON responses, and relies on standard HTTP verbs and status codes.
  • Base path: /api/v1
  • Content types: application/json (default), multipart/form-data for proofs
  • Authentication: X-API-Key + Authorization: Bearer <JWT>
  • Errors: JSON error envelope with stable fields (type, code, message, …)
See the dedicated guides for Versioning, Errors, Pagination, Request IDs, and Metadata.

Environments

Use separate hosts for live and non-live traffic:
  • Production: https://api.mansa.io (live)
  • Staging: https://staging-api.mansa.io (non-live)
  • Development: https://dev-api.mansa.io (non-live)
Your API key determines which environment you’re calling. Non-live environments are sandboxed and don’t move real funds.

Conventions

  • Versioning: Path-based majors (for breaking changes) and SemVer in the spec for minor/patch updates. See Versioning.
  • Idempotency: Send a client-generated client_request_id on writes to safely retry the same operation. See Request IDs.
  • Pagination: Page-based via limit and page, with data.meta reporting limit, page, and total. See Pagination.
  • No bulk updates: Each request operates on a single object or action.

Quick glance

GET https://api.mansa.io/api/v1/liquidity/corridors?status=ACTIVE&limit=25&page=1
Authorization: Bearer <token>
X-API-Key: <key>
Accept: application/json