curl -X POST "https://api-integration.ollang.com/integration/orders/60b8d6f1e1b9b1d8c6c0d8e1/rerun" \
-H "X-Api-Key: $OLLANG_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
curl -X POST "https://api-integration.ollang.com/integration/orders/60b8d6f1e1b9b1d8c6c0d8e1/rerun" \
-H "X-Api-Key: $OLLANG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"triggerFullChain": true
}'
const orderId = "60b8d6f1e1b9b1d8c6c0d8e1";
const response = await fetch(
`https://api-integration.ollang.com/integration/orders/${orderId}/rerun`,
{
method: "POST",
headers: {
"X-Api-Key": process.env.OLLANG_API_KEY,
"Content-Type": "application/json",
},
// set to true to rerun the complete connected order chain
body: JSON.stringify({ triggerFullChain: false }),
},
);
const result = await response.json();
console.log(result);
import os
import requests
order_id = "60b8d6f1e1b9b1d8c6c0d8e1"
headers = {
'X-Api-Key': os.environ['OLLANG_API_KEY'],
'Content-Type': 'application/json'
}
response = requests.post(
f'https://api-integration.ollang.com/integration/orders/{order_id}/rerun',
headers=headers,
# set to True to rerun the complete connected order chain
json={'triggerFullChain': False}
)
print(response.json())
$orderId = '60b8d6f1e1b9b1d8c6c0d8e1';
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api-integration.ollang.com/integration/orders/' . $orderId . '/rerun',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
// set to true to rerun the complete connected order chain
CURLOPT_POSTFIELDS => '{"triggerFullChain": false}',
CURLOPT_HTTPHEADER => array(
'X-Api-Key: ' . getenv('OLLANG_API_KEY'),
'Content-Type: application/json'
),
));
$response = curl_exec($curl);
curl_close($curl);
$result = json_decode($response, true);
print_r($result);
package main
import (
"bytes"
"fmt"
"io"
"net/http"
"os"
)
func main() {
orderId := "60b8d6f1e1b9b1d8c6c0d8e1"
url := fmt.Sprintf("https://api-integration.ollang.com/integration/orders/%s/rerun", orderId)
// set triggerFullChain to true to rerun the complete connected order chain
req, _ := http.NewRequest("POST", url, bytes.NewBuffer([]byte(`{"triggerFullChain": false}`)))
req.Header.Set("X-Api-Key", os.Getenv("OLLANG_API_KEY"))
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}
String orderId = "60b8d6f1e1b9b1d8c6c0d8e1";
// set triggerFullChain to true to rerun the complete connected order chain
HttpResponse<String> response = Unirest.post("https://api-integration.ollang.com/integration/orders/" + orderId + "/rerun")
.header("X-Api-Key", System.getenv("OLLANG_API_KEY"))
.header("Content-Type", "application/json")
.body("{\"triggerFullChain\": false}")
.asString();
System.out.println(response.getBody());
{
"success": true,
"message": "Order is being reprocessed. This may take a few minutes.",
"orderId": "60b8d6f1e1b9b1d8c6c0d8e1",
"triggerFullChain": false,
"triggeredOrderIds": ["60b8d6f1e1b9b1d8c6c0d8e1"]
}
{
"success": true,
"message": "Full order chain rerun initiated successfully",
"orderId": "60b8d6f1e1b9b1d8c6c0d8e1",
"triggerFullChain": true,
"triggeredOrderIds": [
"60b8d6f1e1b9b1d8c6c0d8e1",
"60b8d6f1e1b9b1d8c6c0d8e2",
"60b8d6f1e1b9b1d8c6c0d8e3"
]
}
{
"microservice": "V3-Client",
"error": "MicroserviceError",
"message": "Order must be completed"
}
{
"error": "Order not found",
"message": "No order found with the provided orderId",
"code": "ORDER_NOT_FOUND"
}
{
"error": "Access denied",
"message": "You don't have permission to rerun this order",
"code": "ACCESS_DENIED"
}
{
"error": "Unauthorized",
"message": "Invalid or missing API key",
"code": "UNAUTHORIZED"
}
Ollang API Reference
Rerun Order
Rerun an existing order to regenerate the translation using the latest AI models and settings
POST
/
integration
/
orders
/
{orderId}
/
rerun
curl -X POST "https://api-integration.ollang.com/integration/orders/60b8d6f1e1b9b1d8c6c0d8e1/rerun" \
-H "X-Api-Key: $OLLANG_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
curl -X POST "https://api-integration.ollang.com/integration/orders/60b8d6f1e1b9b1d8c6c0d8e1/rerun" \
-H "X-Api-Key: $OLLANG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"triggerFullChain": true
}'
const orderId = "60b8d6f1e1b9b1d8c6c0d8e1";
const response = await fetch(
`https://api-integration.ollang.com/integration/orders/${orderId}/rerun`,
{
method: "POST",
headers: {
"X-Api-Key": process.env.OLLANG_API_KEY,
"Content-Type": "application/json",
},
// set to true to rerun the complete connected order chain
body: JSON.stringify({ triggerFullChain: false }),
},
);
const result = await response.json();
console.log(result);
import os
import requests
order_id = "60b8d6f1e1b9b1d8c6c0d8e1"
headers = {
'X-Api-Key': os.environ['OLLANG_API_KEY'],
'Content-Type': 'application/json'
}
response = requests.post(
f'https://api-integration.ollang.com/integration/orders/{order_id}/rerun',
headers=headers,
# set to True to rerun the complete connected order chain
json={'triggerFullChain': False}
)
print(response.json())
$orderId = '60b8d6f1e1b9b1d8c6c0d8e1';
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api-integration.ollang.com/integration/orders/' . $orderId . '/rerun',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
// set to true to rerun the complete connected order chain
CURLOPT_POSTFIELDS => '{"triggerFullChain": false}',
CURLOPT_HTTPHEADER => array(
'X-Api-Key: ' . getenv('OLLANG_API_KEY'),
'Content-Type: application/json'
),
));
$response = curl_exec($curl);
curl_close($curl);
$result = json_decode($response, true);
print_r($result);
package main
import (
"bytes"
"fmt"
"io"
"net/http"
"os"
)
func main() {
orderId := "60b8d6f1e1b9b1d8c6c0d8e1"
url := fmt.Sprintf("https://api-integration.ollang.com/integration/orders/%s/rerun", orderId)
// set triggerFullChain to true to rerun the complete connected order chain
req, _ := http.NewRequest("POST", url, bytes.NewBuffer([]byte(`{"triggerFullChain": false}`)))
req.Header.Set("X-Api-Key", os.Getenv("OLLANG_API_KEY"))
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}
String orderId = "60b8d6f1e1b9b1d8c6c0d8e1";
// set triggerFullChain to true to rerun the complete connected order chain
HttpResponse<String> response = Unirest.post("https://api-integration.ollang.com/integration/orders/" + orderId + "/rerun")
.header("X-Api-Key", System.getenv("OLLANG_API_KEY"))
.header("Content-Type", "application/json")
.body("{\"triggerFullChain\": false}")
.asString();
System.out.println(response.getBody());
{
"success": true,
"message": "Order is being reprocessed. This may take a few minutes.",
"orderId": "60b8d6f1e1b9b1d8c6c0d8e1",
"triggerFullChain": false,
"triggeredOrderIds": ["60b8d6f1e1b9b1d8c6c0d8e1"]
}
{
"success": true,
"message": "Full order chain rerun initiated successfully",
"orderId": "60b8d6f1e1b9b1d8c6c0d8e1",
"triggerFullChain": true,
"triggeredOrderIds": [
"60b8d6f1e1b9b1d8c6c0d8e1",
"60b8d6f1e1b9b1d8c6c0d8e2",
"60b8d6f1e1b9b1d8c6c0d8e3"
]
}
{
"microservice": "V3-Client",
"error": "MicroserviceError",
"message": "Order must be completed"
}
{
"error": "Order not found",
"message": "No order found with the provided orderId",
"code": "ORDER_NOT_FOUND"
}
{
"error": "Access denied",
"message": "You don't have permission to rerun this order",
"code": "ACCESS_DENIED"
}
{
"error": "Unauthorized",
"message": "Invalid or missing API key",
"code": "UNAUTHORIZED"
}
Rerun an existing order to regenerate the translation. This endpoint triggers a new translation process using the current AI models and any updated settings. The original order will be processed again, and the results will replace the previous translation.
By default only the selected order is reprocessed. Set
All chain validation runs before any order is reset or charged — a rejected request never leaves the chain partially processed.
triggerFullChain: true to also reset and rerun the order’s connected dependency chain — see Rerunning Connected Order Chains for details.
curl -X POST "https://api-integration.ollang.com/integration/orders/60b8d6f1e1b9b1d8c6c0d8e1/rerun" \
-H "X-Api-Key: $OLLANG_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
curl -X POST "https://api-integration.ollang.com/integration/orders/60b8d6f1e1b9b1d8c6c0d8e1/rerun" \
-H "X-Api-Key: $OLLANG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"triggerFullChain": true
}'
const orderId = "60b8d6f1e1b9b1d8c6c0d8e1";
const response = await fetch(
`https://api-integration.ollang.com/integration/orders/${orderId}/rerun`,
{
method: "POST",
headers: {
"X-Api-Key": process.env.OLLANG_API_KEY,
"Content-Type": "application/json",
},
// set to true to rerun the complete connected order chain
body: JSON.stringify({ triggerFullChain: false }),
},
);
const result = await response.json();
console.log(result);
import os
import requests
order_id = "60b8d6f1e1b9b1d8c6c0d8e1"
headers = {
'X-Api-Key': os.environ['OLLANG_API_KEY'],
'Content-Type': 'application/json'
}
response = requests.post(
f'https://api-integration.ollang.com/integration/orders/{order_id}/rerun',
headers=headers,
# set to True to rerun the complete connected order chain
json={'triggerFullChain': False}
)
print(response.json())
$orderId = '60b8d6f1e1b9b1d8c6c0d8e1';
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api-integration.ollang.com/integration/orders/' . $orderId . '/rerun',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
// set to true to rerun the complete connected order chain
CURLOPT_POSTFIELDS => '{"triggerFullChain": false}',
CURLOPT_HTTPHEADER => array(
'X-Api-Key: ' . getenv('OLLANG_API_KEY'),
'Content-Type: application/json'
),
));
$response = curl_exec($curl);
curl_close($curl);
$result = json_decode($response, true);
print_r($result);
package main
import (
"bytes"
"fmt"
"io"
"net/http"
"os"
)
func main() {
orderId := "60b8d6f1e1b9b1d8c6c0d8e1"
url := fmt.Sprintf("https://api-integration.ollang.com/integration/orders/%s/rerun", orderId)
// set triggerFullChain to true to rerun the complete connected order chain
req, _ := http.NewRequest("POST", url, bytes.NewBuffer([]byte(`{"triggerFullChain": false}`)))
req.Header.Set("X-Api-Key", os.Getenv("OLLANG_API_KEY"))
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}
String orderId = "60b8d6f1e1b9b1d8c6c0d8e1";
// set triggerFullChain to true to rerun the complete connected order chain
HttpResponse<String> response = Unirest.post("https://api-integration.ollang.com/integration/orders/" + orderId + "/rerun")
.header("X-Api-Key", System.getenv("OLLANG_API_KEY"))
.header("Content-Type", "application/json")
.body("{\"triggerFullChain\": false}")
.asString();
System.out.println(response.getBody());
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
Path Parameters
string
required
The unique identifier of the order you want to rerun. The order must be a
completed (or stalled) Level 0 order of an eligible type —
cc, subtitle,
aiDubbing, or document.Request Body
The request body is optional. You can send an empty object{} to rerun the order with default settings.
boolean
default:"false"
When
true, the order’s connected dependency chain is reset and reprocessed
in dependency order — the deepest dependency regenerates first and the
requested order regenerates last using the fresh results. When false or
omitted, only the selected order is rerun and existing dependency results are
reused. See Rerunning Connected Order
Chains.Response
boolean
required
Indicates whether the rerun was initiated successfully.
string
required
A message describing the result of the rerun request.
string
The ID of the order being rerun. This is the same as the input orderId.
boolean
true when a full-chain rerun was initiated, false for a standard
single-order rerun.string[]
Every order that was triggered, from the requested order down to its deepest
dependency. Contains a single ID for standard reruns.
{
"success": true,
"message": "Order is being reprocessed. This may take a few minutes.",
"orderId": "60b8d6f1e1b9b1d8c6c0d8e1",
"triggerFullChain": false,
"triggeredOrderIds": ["60b8d6f1e1b9b1d8c6c0d8e1"]
}
{
"success": true,
"message": "Full order chain rerun initiated successfully",
"orderId": "60b8d6f1e1b9b1d8c6c0d8e1",
"triggerFullChain": true,
"triggeredOrderIds": [
"60b8d6f1e1b9b1d8c6c0d8e1",
"60b8d6f1e1b9b1d8c6c0d8e2",
"60b8d6f1e1b9b1d8c6c0d8e3"
]
}
{
"microservice": "V3-Client",
"error": "MicroserviceError",
"message": "Order must be completed"
}
{
"error": "Order not found",
"message": "No order found with the provided orderId",
"code": "ORDER_NOT_FOUND"
}
{
"error": "Access denied",
"message": "You don't have permission to rerun this order",
"code": "ACCESS_DENIED"
}
{
"error": "Unauthorized",
"message": "Invalid or missing API key",
"code": "UNAUTHORIZED"
}
Full-chain specific errors
Requests withtriggerFullChain: true can additionally fail with:
| Status | Message | Cause |
|---|---|---|
| 400 | Full-chain rerun is not supported for order type: ... | A chain member has an unsupported order type |
| 400 | Connected dependency chain is incomplete: no CC order found for this order | A required dependent order is missing |
| 400 | Order chain is already being processed — wait for it to finish before rerunning | A chain member is in flight |
| 400 | Insufficient AI credits to rerun the full order chain / Insufficient USD credits to rerun the full order chain / Monthly AI credits spending limit exceeded | The chain’s total rerun cost exceeds the available balance or monthly limit |
| 400 | Order chain contains an order that does not belong to this client | A connected order belongs to another client |
Was this page helpful?