Skip to main content
POST
/
integration
/
orders
/
create
curl -X POST "https://api-integration.ollang.com/integration/orders/create" \
  -H "X-Api-Key: <your-api-key>" \
  -H "Content-Type: application/json" \
  -d '{
    "orderType": "cc",
    "level": 1,
    "projectId": "60b8d6f1e1b9b1d8c6c0d8e1",
    "targetLanguageConfigs": [
      {
        "language": "fr",
        "isRush": false
      },
      {
        "language": "es",
        "isRush": true
      }
    ],
    "callbackUrl": "https://your-domain.com/webhooks/order-completed",
    "autoQc": true
  }'
[
  {
    "orderId": "507f1f77bcf86cd799439015"
  },
  {
    "orderId": "507f1f77bcf86cd799439016"
  }
]

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.

Create a new translation order for your uploaded video projects. This endpoint allows you to request specific translation services such as closed captions, subtitles, dubbing, and more.
curl -X POST "https://api-integration.ollang.com/integration/orders/create" \
  -H "X-Api-Key: <your-api-key>" \
  -H "Content-Type: application/json" \
  -d '{
    "orderType": "cc",
    "level": 1,
    "projectId": "60b8d6f1e1b9b1d8c6c0d8e1",
    "targetLanguageConfigs": [
      {
        "language": "fr",
        "isRush": false
      },
      {
        "language": "es",
        "isRush": true
      }
    ],
    "callbackUrl": "https://your-domain.com/webhooks/order-completed",
    "autoQc": true
  }'

Authorizations

This endpoint requires API key authentication. Include your API key in the request header:
  • Header name: X-Api-Key
  • Header value: Your API key from the Ollang dashboard
  • Format: X-Api-Key: your-api-key-here
You can obtain your API key from your Ollang dashboard.

Body Parameters

orderType
string
required
Type of the order. Available options: - cc - Closed captions - subtitle - Subtitles - aiDubbing - AI Dubbing - studioDubbing - Studio-produced dubbing - document - Document translation (including Image to Image when the source is a JPEG, JPG, or PNG from Direct Upload)
level
number
required
Service level for the order. Level 0 means full AI generated and Level 1 is Human Review added version.
projectId
string
required
Unique identifier of the project this order belongs to. This should be a project ID from a previous video upload.
targetLanguageConfigs
array
required
Array of target language configurations. At least one target language configuration is required.
orderSubType
string
Subtype of the order, specific to closed captions or transcription types. Must be one of: closedCaption or timecodedTranscription.
dubbingStyle
string
Style of dubbing for audio orders. Must be one of: overdub, lipsync, or audioDescription.
callbackUrl
string
Optional URL to receive a POST request when the order completes. Must be a valid URL (http or https). The callback payload includes the completed order’s translated content (documents, subtitle files, etc.) so you can process results immediately without a separate API call. See Order completion callback.
autoQc
boolean
When set to true, a QC evaluation will automatically run after the AI order completes. Defaults to false. Auto-QC only applies to top-level orders (child orders created as part of a parent order are excluded).

Order completion callback

When callbackUrl is provided, Ollang sends a POST request to that URL after the order reaches a completed state. The request uses Content-Type: application/json and has a 10-second timeout. Callback failures do not affect the order itself. Implement idempotent handling and validate payloads on your side; you can always confirm status and outputs with Get Order by ID.

Callback payload

The callback POST body includes the completed order’s translated content, matching the shape of the Get Order by ID response:
FieldTypeDescription
orderIdstringThe unique identifier of the completed order.
statusstringAlways "completed".
orderTypestringThe order type (e.g., cc, subtitle, document, aiDubbing).
targetLanguagestringTarget language code (ISO 639-1).
completedAtstringCompletion timestamp (ISO 8601).
orderDocsarrayAll documents associated with the order — source files, translated subtitles, embedded videos, dubbed audio, translated documents, images, etc. Each object includes id, name, url, type, size, duration, wordCount, sourceLanguage, createdAt, and updatedAt.
vttUrlstringSigned URL to download the VTT subtitle file (valid for 7 days). Empty string if not applicable to the order type.

Example callback payload

{
  "orderId": "507f1f77bcf86cd799439015",
  "status": "completed",
  "orderType": "subtitle",
  "targetLanguage": "fr",
  "completedAt": "2024-01-16T14:20:00.000Z",
  "orderDocs": [
    {
      "id": "doc_123abc",
      "name": "Source Video.mp4",
      "url": "https://example.com/videos/source.mp4",
      "type": "source_video",
      "size": 1073741824,
      "duration": 7200,
      "wordCount": null,
      "sourceLanguage": "en",
      "createdAt": "2024-01-15T10:30:00Z",
      "updatedAt": "2024-01-15T10:30:00Z"
    },
    {
      "id": "doc_456def",
      "name": "French Subtitles.srt",
      "url": "https://example.com/subtitles/fr.srt",
      "type": "created_subtitle",
      "size": 8192,
      "duration": null,
      "wordCount": 1250,
      "sourceLanguage": "fr",
      "createdAt": "2024-01-16T14:20:00Z",
      "updatedAt": "2024-01-16T14:20:00Z"
    }
  ],
  "vttUrl": "https://example.com/subtitles/507f1f77bcf86cd799439015.vtt"
}

Response

The endpoint returns an array of created orders — one per targetLanguageConfigs entry. Each element is an object with a single orderId field. If you pass three target languages, you get three order IDs back in the same order you supplied them.
orders
array
Array of created orders. Each entry corresponds to one targetLanguageConfigs item, in the same order.
[
  {
    "orderId": "507f1f77bcf86cd799439015"
  },
  {
    "orderId": "507f1f77bcf86cd799439016"
  }
]