| Item | Value |
|---|---|
| Production base URL | https://api.gnosisramp.io/v1 |
| Sandbox base URL | https://sandbox.api.gnosisramp.io/v1 |
| Content type | application/json |
| Auth schemes | HTTP Basic (project client credentials), Bearer (GnosisRamp JWT) |
Integration flow
The typical API integration follows this sequence:GET /currencies/supported— discover available currency pairs and provider IDs (Basic Auth)GET /external-accounts/requirements?src=...&dest=...— get JSON Schemas for account fields (Basic Auth)POST /customers/external-accounts— create source + destination account pair (Bearer JWT)POST /intent— create a payment intent, optionally with a preferredproviderId(Bearer JWT)
providerId is an optional preference on top of that filtering.
Calling the APIs
- Project-scoped endpoints (
/customers,/currencies/supported,/providers,/external-accounts/requirements) expect HTTP Basic headers:Authorization: Basic base64(clientId:clientSecret). - Customer-scoped endpoints (
/customers/external-accounts,/intent,/intent/:id/transaction, etc.) expectAuthorization: Bearer <GNOSISRAMP_JWT>obtained from the customer creation response. - All request bodies should be JSON; numbers such as transfer amounts must be strings (see the Money Movement section for precision rules).
Working with the spec
- Download the spec: openapi.yaml
- Import into Postman, Insomnia, or your favourite client to bootstrap requests.
- Use the schema definitions for strongly typed clients; they include enums for rails, currencies, and webhook events.
- The Mintlify playground supports live requests once you provide credentials in the “Headers” panel.