Skip to main content

API Conventions

The conventions on this page apply to every endpoint under https://api-integration.ollang.com. Read this once and the individual API reference pages should feel predictable.

Base URL

All endpoints are HTTPS-only. There is no separate sandbox host — use test data and the AI-only level: 0 flow against the same base URL to experiment safely.

Authentication

The REST API authenticates with a single header:
  • The /health endpoint does not require a key — it’s the recommended connectivity sanity check. See Health Check.
  • Header name is case-sensitive on some HTTP clients. Use X-Api-Key, not Authorization or X-API-KEY.
  • API keys are account-scoped and can read every Folder, Project, and Order on that account.

Content Types

Request and Response Format

JSON responses generally fall into three shapes: Single resource:
List endpoints (paginated):
  • page is 1-indexed.
  • take is the page size that was applied.
  • itemCount is the total number of items across all pages.
  • pageCount is the total number of pages.
  • Iterate until hasNextPage is false.
Order creation: an array of objects, one per targetLanguageConfigs entry:
See Create Order.

Pagination

List endpoints accept a common set of pagination parameters. Two query-string styles are used depending on the endpoint: The canonical example for each endpoint is in its API reference page.
Iteration pattern:

Filters

List endpoints also accept domain-specific filter parameters. Common filters across endpoints: See per-endpoint reference pages for the full filter list.

Error Format

All error responses share this shape:

Standard Status Codes

See Best Practices — Retries and Backoff.

Webhooks / Callbacks

Endpoints that kick off long-running work (createOrder, rerunOrder) accept an optional callbackUrl. Ollang POSTs a JSON payload to that URL when the order completes:
Rules:
  • 10-second response timeout.
  • IPv6 destinations and internal hostnames are blocked at the SSRF guard.
  • Treat handlers as idempotent. Use orderId as the dedup key.
  • Re-confirm via Get Order by ID before acting on the body for irreversible operations.
See Best Practices — Callbacks vs. Polling.

IDs

  • All Ollang IDs are opaque strings — do not assume any particular format (length, prefix, or characters). Treat them as case-sensitive identifiers.
  • IDs are stable for the lifetime of the resource.
  • Each targetLanguageConfigs entry produces a distinct orderId.

Timestamps

All timestamps are ISO-8601 UTC unless otherwise noted (e.g. 2026-05-12T10:00:00Z). Where a numeric epoch is returned (/health’s time), it is milliseconds since the Unix epoch.

Language Codes

Mostly ISO 639-1 two-letter codes (en, fr, es), with regional and script variants where needed (pt-PT, es-MX, zh-Hant, fr-CA). See Supported Languages for the canonical list — the API response is authoritative if a code isn’t listed there.

File Size Limits

For very large videos, always use Direct File Upload rather than web/dashboard upload paths.

Rate Limits

Ollang enforces per-account rate limits. If you receive 429, back off exponentially. For high-volume use cases, contact Ollang to discuss limits before launch.

Versioning

The Integration API is non-versioned at the URL level. We commit to:
  • Additive changes (new optional fields, new endpoints) ship without notice.
  • Breaking changes (parameter removal, response shape changes) are announced in the Changelog in advance.

See Also