Getting started
- Sign in to the OptionPay portal and complete onboarding / KYC where required.
- Ensure the relevant provider integration is active under Provider Settings.
- Obtain a bearer token via
POST /api/v1/Account/authenticate(or your portal session JWT). - Call endpoints under
/api/v1/…with JSON bodies unless noted otherwise. - 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"]
}
| Status | Meaning |
|---|---|
400 | Validation or business rule failure |
401 | Missing or invalid authentication |
403 | Authenticated but not permitted for this host / role |
404 | Resource not found |
429 | Rate limit exceeded |
500 | Unexpected 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.