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
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.
If the check fails everywhere — or orders are running but behaving oddly — open the Ollang Status page before digging further. It reports live availability, open incidents, and scheduled maintenance across the platform and its APIs.
Authentication
MCP: 'Please reauthenticate'
MCP: 'Please reauthenticate'
https://mcp.ollang.com/mcp.Skills: agent keeps asking for a key
Skills: agent keeps asking for a key
OLLANG_API_KEY in your shell or .env so the agent can read it once and persist it across the session:File Uploads
413 File too large
413 File too large
- Video: 30 GB
- Documents: 100 MB
- In-page API playground: 5 MB (use a real client for anything larger)
400 Invalid file format
400 Invalid file format
.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.400 Unsupported file type, or the upload is stored as <name>.blob
400 Unsupported file type, or the upload is stored as <name>.blob
file part, not from the name field. A part sent without one —
a bare Blob in JavaScript defaults the filename to blob — is stored as
<name>.blob, which the document pipeline cannot read.Send the file under its real name. The three-argument append requires a
Blob, so wrap raw bytes rather than passing a Buffer or Uint8Array
straight in — those throw TypeError: parameter 2 is not of type 'Blob':File works too and carries the name itself, but it is only a global
from Node 20 onwards — on Node 18 use the Blob form above.In the Node SDK, pass filename alongside a Blob — see Node.js
Library. In the Python SDK, pass a
path, or filename= alongside raw bytes.Uploads whose extension the platform cannot read are now rejected with a
400 before the project is created. Before that, the upload was accepted,
the document pipeline failed on it, and Create Order against the
resulting project returned 404 UploadRecordNotFoundException — with an
orphan project left behind on every retry.Upload succeeds but the project doesn't appear in my folder
Upload succeeds but the project doesn't appear in my folder
folderId on the upload request. Without it, projects land in the default API Uploads folder. You can list folders with Retrieve All Folders.Adobe After Effects (.ZIP) uploads are slow or fail
Adobe After Effects (.ZIP) uploads are slow or fail
Orders
404 Project not found on Create Order
404 Project not found on Create Order
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.400 Invalid order type
400 Invalid order type
orderType must be one of cc, subtitle, document, aiDubbing, or studioDubbing. See Order Types.400 At least one targetLanguageConfig is required
400 At least one targetLanguageConfig is required
targetLanguageConfigs must be a non-empty array. Each entry creates a separate order. Language codes follow Supported Languages.Order is stuck in pending or ongoing for a long time
Order is stuck in pending or ongoing for a long time
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 didn't produce different output
Rerun didn't produce different output
Callbacks (callbackUrl)
Callback never fires
Callback never fires
- Confirm
callbackUrlis a fully-qualifiedhttp(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.
Callback fires twice
Callback fires twice
orderId + completedAt as a dedup key, or upsert into your store keyed by orderId.I need to validate the callback came from Ollang
I need to validate the callback came from Ollang
GET /integration/orders/<orderId> confirmation using your API key before acting on the contents.QC and Human Review
autoQc was set but no QC ran
autoQc was set but no QC ran
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.QC scores look low — what now?
QC scores look low — what now?
- Add Custom Instructions or Guidelines to steer the AI toward your tone and terminology. See Memory, Guidelines, and Custom Instructions.
- Attach a Memory (approved terminology) so future orders reference it.
- Upgrade to Level 1 via Request Human Review.
- Change the AI provider in the Folder workflow and rerun.
Human Review is taking longer than expected
Human Review is taking longer than expected
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
Rate limits
Rate limits
429, back off exponentially and retry. For high-volume use cases, contact Ollang to discuss limits before launch.Timeouts on long requests
Timeouts on long requests
VPN / proxy issues
VPN / proxy issues
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.If you need to allowlist Ollang hosts with your network or security team, trust.ollang.com has the security and compliance documentation they’ll usually ask for.SDK Issues
Ollang is not a constructor on import
Ollang is not a constructor on import
Ollang is a named export:import Ollang from "@ollang-dev/sdk" threw. The named import
works on every version.Asset Management server fails to start
Asset Management server fails to start
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.No items appear after a project scan
No items appear after a project scan
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.CORS error from a non-default dev origin
CORS error from a non-default dev origin
What to Send Support
Check the Status page first — if there’s an open incident, the answer may already be there. Otherwise, when opening a ticket at info@ollang.com, include:- The
orderId(orprojectId) you’re asking about. - The exact API endpoint and request method.
- The full response — status code, headers (especially
x-request-idif 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.
Status, Security, and Compliance
- status.ollang.com — live service status, incident history, and scheduled maintenance windows. Check it before filing a ticket about availability.
- trust.ollang.com — the Ollang Trust Center: security, privacy, and compliance documentation. Start there for vendor security reviews and questionnaires.