Create an account → get your keys instantly → create your first session in minutes. Live mode requires payout onboarding.

Error Codes

All API errors return JSON of the form:

{
  "success": false,
  "code": "ERROR_CODE",
  "message": "Human-readable message",
  "details": "Optional details",
  "requestId": "uuid"
}

Include requestId when contacting support.

Authentication

MISSING_API_KEY (401), INVALID_API_KEY (401), INTEGRATION_DISABLED (403).

Validation

INVALID_AMOUNT (400), INVALID_CURRENCY (400), INVALID_PARTICIPANTS (400), INVALID_INPUT (400), MISSING_SESSION_ID (400), MISSING_PARTICIPANT_ID (400).

Session lifecycle

SESSION_NOT_FOUND (404), SESSION_NOT_PAYABLE (400), SESSION_EXPIRED (400), SESSION_COMPLETED (400), SESSION_CANCELLED (400).

Payment

PAYMENT_FAILED (402), STRIPE_ERROR (502), INSUFFICIENT_FUNDS (402), CARD_DECLINED (402).

Server / limits

SERVER_ERROR (500), DATABASE_ERROR (500), RATE_LIMIT_EXCEEDED (429). See Rate limits for when 429 happens and how to handle it.

Response headers may include X-Request-ID, X-PayShare-API-Version, X-RateLimit-Remaining, X-RateLimit-Reset. These codes and status mappings are stable.