OptionPay API Documentation

Live catalogue of every OptionPay WebApi route — generated from controller metadata and XML summaries.

Getting started

  1. Sign in to the OptionPay portal and complete onboarding / KYC where required.
  2. Ensure the relevant provider integration is active under Provider Settings.
  3. Obtain a bearer token via POST /api/v1/Account/authenticate (or your portal session JWT).
  4. Call endpoints under /api/v1/… with JSON bodies unless noted otherwise.
  5. Use Swagger UI to try authenticated requests interactively.

Authentication

Most routes require a JWT bearer token in the Authorization header. Partner callbacks and selected public configuration routes allow anonymous access — see the Auth badge on each endpoint.

Authorization: Bearer <your-jwt-token>
Content-Type: application/json
Accept: application/json
X-Correlation-Id: <optional-uuid>

Portal clients may also send X-Payload-Encrypted: true with an AES-encrypted JSON body when client encryption is enabled. Callback routes and selected public configuration endpoints are excluded.

URL pattern: /api/v1/<controller>/<group>/<endpoint>. Integration rails (e.g. Power API KYC) follow the same versioned prefix.

Error codes

Failed requests return an appropriate HTTP status code and a JSON envelope:

{
  "succeeded": false,
  "message": "Human-readable error description",
  "errors": ["Optional validation detail"]
}
StatusMeaning
400Validation or business rule failure
401Missing or invalid authentication
403Authenticated but not permitted for this host / role
404Resource not found
429Rate limit exceeded
500Unexpected server error

Billing & limits

Usage-based integrations (KYC verification, BBPS, AEPS, CMS, etc.) are billed per successful provider call according to your active provider setting and wallet balance. Monitor usage from the portal dashboard.