Skip to main content

Authentication

Kora Remittance uses three credential types depending on who is calling.

CredentialHeaderUsed byFor
API keyAuthorization: Bearer kora_…Your serverServer-to-server calls scoped to your tenant
Tenant IDX-Tenant-ID: <uuid>Your serverIdentifies which tenant account the call belongs to
Session tokenAuthorization: Bearer <jwt>Your app (end user)User-scoped calls: create transfer, list own history
Partner keyX-Partner-API-Key: <key>Your serverMinting a handoff token (see Partner Handoff)

Standard request

Most server-to-server calls send the API key plus the tenant ID:

curl https://api.korastratum.com/api/v1/remittance/corridors \
-H "Authorization: Bearer kora_abc123..." \
-H "X-Tenant-ID: 550e8400-e29b-41d4-a716-446655440000"

End-user actions (creating a transfer, listing the caller's own transfers) use the session token the user obtained at login or via handoff — the user id is always taken from the token, never from a parameter, so a user only ever sees their own data.

API key format

Keys are prefixed with kora_ followed by a random token — for example kora_af6fe71cdf85…. A key is issued for a single environment (production or sandbox) and is scoped to your tenant.

warning

Never expose an API key or partner key in client-side code. Both are server-side credentials. End-user clients only ever hold a short-lived session token.

Environments

EnvironmentBase URLUse with
Productionhttps://api.korastratum.com/api/v1/remittancekora_ production keys
Sandboxhttps://sandbox.korastratum.com/api/v1/remittancekora_ sandbox keys
note

Sandbox and production are separate hosts — send each key to its matching base URL. A sandbox key against the production host returns 401. Confirm your exact base URLs in the dashboard.

Next steps