Skip to main content

Documentation Index

Fetch the complete documentation index at: https://api-docs.ollang.com/llms.txt

Use this file to discover all available pages before exploring further.

Troubleshooting

Most integration issues fall into a handful of buckets — authentication, uploads, callbacks, order state, or rate limits. Start here before opening a support ticket.

First, Check the API Is Up

curl https://api-integration.ollang.com/health
A 200 with {"status":"OK"} confirms connectivity. If this fails from your environment but works from your laptop, the issue is between your network and Ollang, not Ollang itself. Full reference: Health Check.

Authentication

  • Confirm the header name is X-Api-Key, not Authorization or X-API-KEY.
  • Confirm the value is your active API key from the Olabs Dashboard (project settings → API keys).
  • If you rotated your key recently, revisit any deployment or CI environment variable.
  • The /health endpoint does not require a key — useful as a sanity test.
OAuth refresh tokens can expire. Disconnect and reconnect the Ollang MCP server from your client (Claude Desktop, Cursor, etc.). Make sure the configured URL is https://mcp.ollang.com/mcp.
Set OLLANG_API_KEY in your shell or .env so the agent can read it once and persist it across the session:
export OLLANG_API_KEY="<your-api-key>"

File Uploads

Limits:
  • Video: 30 GB
  • Documents: 100 MB
  • In-page API playground: 5 MB (use a real client for anything larger)
For very large videos, prefer the Direct File Upload endpoint over web uploads.
Confirm the file extension matches the actual content (e.g. .mp4 for video, .docx for Office documents). The full supported list lives on the Direct File Upload page. Image-to-image translation needs JPEG, JPG, or PNG via Direct Upload specifically — see the Order Types table.
Pass the destination folderId on the upload request. Without it, projects land in the default API Uploads folder. You can list folders with Retrieve All Folders.
AE uploads run through a retry-with-backoff path and have a 5-minute conversion timeout. If a single asset is failing repeatedly, check that the .ZIP contains a clear main composition and try again. See the changelog entries on After Effects upload reliability and end-to-end AE localization.

Orders

Use the projectId returned from your most recent Direct File Upload response. Projects are scoped to the account that owns the API key — keys from another account cannot see them.
orderType must be one of cc, subtitle, document, aiDubbing, or studioDubbing. See Order Types.
targetLanguageConfigs must be a non-empty array. Each entry creates a separate order. Language codes follow Supported Languages.
Most AI orders complete within minutes; level-1 orders (with Human Review) depend on reviewer availability and may take hours. Some statuses (e.g. waitingForCC, waitingForSubtitle) indicate the order is gated on an upstream artifact. See Order Statuses.If you suspect something is wrong, capture the orderId and recent GET /integration/orders/<orderId> response and contact support.
Rerun re-executes against the current workflow. If the workflow, providers, custom instructions, and source content are unchanged, the AI may produce nearly identical output. Try updating the relevant Folder workflow or attaching guidelines before rerunning. See Rerun Order.

Callbacks (callbackUrl)

  • Confirm callbackUrl is a fully-qualified http(s) URL.
  • Make sure your endpoint is reachable from the public internet — internal hostnames (localhost, *.internal) and IPv6 destinations are blocked at the SSRF guard.
  • Callbacks have a 10-second timeout. If your handler takes longer to respond, Ollang treats it as a failure. Acknowledge quickly and process asynchronously.
  • Callback failures do not affect the order itself. Fall back to polling Get Order by ID if you don’t receive a callback within a reasonable window.
Treat callback handlers as idempotent. Use the orderId + completedAt as a dedup key, or upsert into your store keyed by orderId.
Don’t rely on the body alone. Pair the callback with a GET /integration/orders/<orderId> confirmation using your API key before acting on the contents.

QC and Human Review

autoQc only applies to top-level orders (orders created directly), not child orders generated as part of a parent workflow. It also requires enableQCThreshold on the client account.
Several options:
Review gates respect qcThreshold routing rules — orders may be re-routed automatically. Use Cancel Human Review to revert to the AI-only state and refund the review credits if priority changes.

Networking and Limits

Ollang enforces per-account rate limits. If you receive a 429, back off exponentially and retry. For high-volume use cases, contact Ollang to discuss limits before launch.
Some operations (large uploads, AE conversions) intentionally take minutes. Increase your HTTP client’s read/write timeouts (5–10 minutes is reasonable for uploads) and don’t reuse a connection across unrelated requests.
Outbound traffic from your environment must reach api-integration.ollang.com and mcp.ollang.com. Some corporate proxies strip multipart/form-data headers or terminate long uploads — try a clean network as a comparison.

SDK Issues

Run npx @ollang-dev/sdk start from your project root where ollang.config.ts lives. Set OLLANG_API_KEY first. If you’re developing the SDK from source, run npm run build in the SDK package.
Check includePaths and includePatterns in ollang.config.ts. The scanner has to match real files — e.g. messages/*.json, locales/**/*.json. Confirm your i18n files exist at those paths.
Allow it via TMS_CORS_ORIGINS:
TMS_CORS_ORIGINS=http://127.0.0.1:4200 npx @ollang-dev/sdk start
Multiple origins are comma-separated. See SDK Quickstart.

What to Send Support

When opening a ticket at info@ollang.com, include:
  • The orderId (or projectId) you’re asking about.
  • The exact API endpoint and request method.
  • The full response — status code, headers (especially x-request-id if present), and JSON body.
  • Approximate timestamp of the request (UTC) so we can correlate logs.
  • For SDK / MCP / Skills: the package version, agent, and OS.
Do not paste your API key, OAuth tokens, or callback secrets into a support email or public GitHub issue. Redact them. We never need the key value to investigate an issue — the request ID and order ID are enough.