Skip to main content

API Authentication

All protected endpoints require authentication. This page covers the authentication methods available.

Authentication Methods

Bearer Authentication

Used by admin users and other bearer-protected routes.

Request Format

API Key Prefixes

POS HMAC Authentication

POS routes under /api/v1/pos/* are protected by HMAC, not bearer tokens. Mintlify’s manual endpoint playground cannot generate these HMAC headers automatically, so POS pages use playground: "simple" and provide copy-paste cURL examples.

Request Format

The signature string is exactly:
The /payment/* routes use the same HMAC authentication but do not require a pin field in the request body. The partner’s HMAC signature provides the security instead of the cardholder PIN.

JWT Authentication

For admin operations and protected dashboard endpoints.

Obtaining a Token

Using the Token

Error Responses

401 Unauthorized

Missing or invalid authentication:

403 Forbidden

Authenticated but lacking permission:

Service Authentication

Internal service routes use dedicated service headers, not X-Service-Auth.

Headers

Signature Format

The canonical string is pipe-delimited:
If there is no query string, keep the empty segment:

HMAC Routes In Docs

  • Partner and POS pages use playground: "simple" because their signatures must be computed from the exact raw request body.
  • Bearer-protected and public routes can keep the interactive playground.

Best Practices

Store API keys securely; never expose in client-side code or version control.
Rotate API keys periodically and immediately after any suspected compromise.
Request only the scopes needed for your integration.
Always use HTTPS in production to protect credentials in transit.