Authentication

All API requests require a valid API key passed in the Authorization header.

API Key format

Your API key starts with oxp_live_ followed by 43 base64url characters. Pass it as a Bearer token.

Authorization: Bearer oxp_live_YOUR_KEY_HERE

Pre-approval mode

New accounts start in pre-approval mode

You get 100 test API calls before our team reviews your account. Each response includes:

X-Oxin-Pay-Approval: pending
X-Oxin-Pay-Quota-Remaining: 99

IP whitelist

Restrict which server IPs can use your API key. Supports individual IPs and CIDR ranges. An empty whitelist allows all IPs.

# Update IP whitelist via dashboard or:
PUT /web/v1/api-keys/whitelists
{
  "ips": ["203.0.113.0/24", "198.51.100.5"]
}

Domain whitelist

Restrict the domains from which your hosted checkout may be embedded (Referer header check).

Key lifecycle

StateDescriptionAPI calls
pending_approvalAwaiting admin reviewUp to 100 test calls
activeFully approvedUnlimited
disabledTemporarily suspendedRejected (403)
revokedPermanently revokedRejected (401)

Error responses

CodeHTTPMeaning
missing_api_key401No Authorization header
api_key_not_found401Key does not exist or hash mismatch
api_key_revoked401Key has been permanently revoked
api_key_disabled403Key is temporarily disabled
ip_blocked403Calling IP not in whitelist
quota_exceeded403Pre-approval call limit reached