SNAPDocumentation

SNAP / GUIDE

Get Started

The published GET contract, in the order you should call it.

Confirm the workspace boundary

The Explorer is a signed-in browser workspace. Confirm the session and engine boundary before judging an endpoint result.

Open API Explorer
Signed-in sessionYour active SNAP workspace supplies the browser credential.
Engine statusWait for the Explorer to report the engine as available.
Gateway boundaryThe browser calls the configured SNAP gateway; it does not call the Engine origin directly.

Start with the published GET contract

Run the discovery endpoints in order. They establish the published currencies and pairs, calculation conventions, and the standard tenors for each pair before any date calculation.

Open API Explorer
1GET /v1/fx/currency-pairsConfirm currency and pair coverage

Verify the currency and pair you plan to use are published. JPYKRW is not published.

2GET /v1/fx/configRead calculation conventions

Capture each currency's rate-reporting daycount and public calendar. pointFactor converts a quote-currency change to swap points: points = (outright - spot) * pointFactor.

3GET /v1/fx/tenorsConfirm standard tenors

Use only the standard tenors offered for each currency pair.

REQUEST
GET https://snap-api.kustodyfi.com/v1/fx/currency-pairs
Accept: application/json
X-Request-ID: snap_example
RESPONSE200 OK
{
  "code": 0,
  "message": "",
  "meta": {
    "requestAt": "2026-09-17T00:00:00.000Z",
    "requestId": "550e8400-e29b-41d4-a716-446655440000",
    "responseAt": "2026-09-17T00:00:00.012Z",
    "clientRequestId": "snap_example"
  },
  "data": {
    "currencies": ["JPY", "KRW", "USD"],
    "pairs": ["USDKRW", "USDJPY"]
  }
}

The Explorer attaches credentials at runtime. Its copied request shape does not expose or persist the browser credential.

Keep the evidence from every response

A payload alone is not enough to diagnose an integration. Preserve the transport and trace context shown by the Explorer.

Open API Explorer
HTTP status
Separate authentication, authorization, rate-limit, and server failures.
Duration
Compare latency across the same endpoint and input, not across unrelated calls.
Server and client request IDs
Keep the server-generated meta.requestId and the optional meta.clientRequestId as separate values.
Trace ID
Use the backend trace identifier when escalating a failed request.

Move from a demo call to an operable integration

Complete these checks before using the request pattern outside the signed-in Explorer.

Open API Explorer
Authentication boundary

Do not export browser tokens. Confirm the approved server-side credential contract before an external REST integration.

Contract coverage

Validate currencies, currency pairs, conventions, and tenors before calculation requests.

Failure handling

Handle 401, 403, 429, and 5xx separately and honor Retry-After when it is provided.

Observability

Record request and trace IDs without logging credentials or personal data.

POST request contract

Validate required fields and service defaults before using settlement-date calculations.

NEXT STEP

Run the first request in API Explorer

Start with Currencies and pairs, then keep the status, duration, request ID, and trace ID from the response.
Open API Explorer