Skip to main content
The OpenQuota public API lives at https://api.openquota.ai/v1. It’s a JSON-over-HTTPS REST API for reading and writing the data that drives commissions: deals, earnings, and plans.

Base URL

https://api.openquota.ai/v1

Authentication

Every request requires a Bearer token in the Authorization header. See Authentication.

Response format

All responses are JSON with application/json content type. Successful responses use standard HTTP codes (200, 201, 404, 429). Errors follow the shape described in Error handling.

Versioning

The API is versioned in the URL path — /v1/.... We make backwards-incompatible changes only in new versions. Within a version, we:
  • Add new endpoints and fields freely.
  • Never remove fields on existing endpoints.
  • Never change the semantics of existing fields.
Breaking changes roll out under /v2 and we’ll communicate deprecations in the admin UI and the changelog.

Conventions

  • Field naming — responses use snake_case for JSON fields. Timestamps are ISO 8601 UTC strings (2026-04-22T10:15:30.000Z).
  • Pagination — list endpoints accept limit (max 500) and offset. Responses include a pagination.next_offset hint — null means the page was short and you’re at the end.
  • IDs — prefixed and opaque: deal_*, ern_*, pln_*, ak_*. Treat them as strings, never parse them.

OpenAPI spec

The full OpenAPI 3.1 spec is available at:
https://api.openquota.ai/v1/openapi.json
That endpoint is unauthenticated — wire it directly into client-generator tools (openapi-generator, Stainless, etc.) without needing a key.