Replay an Assembly
Starts a new Assembly from the inputs and Instructions of an earlier Assembly.
https://api2.transloadit.com/ assemblies/ {assemblyId}/ replayIf an Assembly crashed, and if we can recover the input files, Transloadit can retry its execution.
You can specify a new notify_url parameter in params to avoid replaying the URL already
specified for the Assembly.
Specify the steps parameter to override the Steps of the original Assembly
being replayed.
The newly created Assembly embeds the original Assembly Status object in
parent_assembly_status. Its assembly_url identifies the crashed Assembly being replayed.
Request example
Set ASSEMBLY_ID to your resource value without percent-encoding it.
Run this request in a server-side shell with curl and a suitable bearer token in TRANSLOADIT_TOKEN. If you need a token, expand the setup below.
Need a bearer token?
In a trusted server-side shell with curl and jq, set TRANSLOADIT_KEY and TRANSLOADIT_SECRET to your Auth Key and Auth Secret. Keep both credentials and the resulting token secret; never run this setup in browser code.
First, create a token with this endpoint’s required scopes. Your Auth Key must already grant those scopes.
if ! TOKEN_RESPONSE="$(curl --fail-with-body -sS \
--request POST \
--url 'https://api2.transloadit.com/token' \
--user "${TRANSLOADIT_KEY:?Set TRANSLOADIT_KEY}:${TRANSLOADIT_SECRET:?Set TRANSLOADIT_SECRET}" \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'aud=api2' \
--data-urlencode 'scope=assemblies:write')"; then
printf '%s\n' "$TOKEN_RESPONSE" >&2
exit 1
fi
TRANSLOADIT_TOKEN="$(printf '%s' "$TOKEN_RESPONSE" |
jq -er '.access_token | strings | select(length > 0)')" || exit 1
Keep this shell open and run the request below. Reuse the token while it remains valid.
curl --fail-with-body -sS --request POST \
--url "https://api2.transloadit.com/assemblies/${ASSEMBLY_ID:?Set ASSEMBLY_ID}/replay" \
--header "Authorization: Bearer ${TRANSLOADIT_TOKEN:?Set TRANSLOADIT_TOKEN}" \
--data-urlencode 'params={}'
Authentication
This endpoint accepts signed params or a bearer token. See Authentication for setup instructions.
Required scope for the Auth Key or bearer token: assemblies:write.
Signed requests require both a signature and a future params.auth.expires timestamp. Bearer tokens do not require either.
Path parameters
assemblyId(path segment), required. pattern:^[a-z0-9]{32}$
Form fields
Content type: application/x-www-form-urlencoded
params(JSON string), required. A JSON-encoded object whose supported keys are listed below.signature(string). Required for signed requests. Omit this field when using a bearer token.
Supported keys inside the params field
Authentication fields in this list apply to signed requests. With a bearer token, you can omit params.auth and the separate signature field. Compare the authentication-specific request parameters below.
Complete JSON Schema
params: Only the fields listed for this object are accepted.
| Field | Type and description | ||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
params.required for signed requests; optional with a bearer token | Contains the Transloadit API key and signature-authentication metadata for an Assembly replay.
| ||||||||||||||||||||||
params.required | stringISO 8601 expiration timestamp in the future. Required when a request is signed or requires signature authentication; bearer-authenticated requests may omit it. | ||||||||||||||||||||||
params.required | stringTransloadit API key used to authenticate requests | ||||||||||||||||||||||
params. | objectValues merged on top of the original Assembly fields and made available as Assembly Variables in the replay. Additional property schemaany value | ||||||||||||||||||||||
params. | string | integerUnique, random value included in signed request params to make each signature unique and prevent accidental signature reuse. | ||||||||||||||||||||||
params. | null | stringOverrides the notification URL for the replayed Assembly. An omitted, null, or empty value does not override the inherited URL. By default, or when the original Assembly has no Template, the URL from the original merged Assembly Instructions is reevaluated using the replay’s fields and Assembly Variables. With | ||||||||||||||||||||||
params. | 0 | 1Specify | ||||||||||||||||||||||
params. | object | Array<referenced schema>Replay step overrides. Object-form steps are the normal Assembly shape; array-form steps are accepted for legacy replay compatibility and normalized before execution. Any of the following schemas may apply: objectobjectAdditional property schemaobjectA full Assembly step or partial replay step override. Replay keeps this relaxed so credentials and missing robot properties can be merged back from the original Template before normal Assembly validation runs. Additional schema details are available in the complete JSON Schema. Array<referenced schema>Array<referenced schema>Array item schemaA full Assembly step or partial replay step override. Replay keeps this relaxed so credentials and missing robot properties can be merged back from the original Template before normal Assembly validation runs.
|
Request parameters by authentication method
With signed params
Include your Auth Key as params.auth.key. When signing the request, include a future params.auth.expires timestamp and send the signature in the separate signature field. The field definitions below use paths inside params.
Complete JSON Schema
params: Only the fields listed for this object are accepted.
Uses the field definitions above: params.auth, params.fields, params.nonce, params.notify_url, params.reparse_template, params.steps
With a bearer token
Send the bearer token in the Authorization header. You can omit params.auth and the separate signature field. Other required parameters still apply. The field definitions below use paths inside params.
Complete JSON Schema
params: Only the fields listed for this object are accepted.
Uses the field definitions above: params.fields, params.nonce, params.notify_url, params.reparse_template, params.steps
| Field | Type and description |
|---|---|
params. | Contains the Transloadit API key and signature-authentication metadata for an Assembly replay.
|
params. | stringISO 8601 expiration timestamp in the future. Required when a request is signed or requires signature authentication; bearer-authenticated requests may omit it. |
params. | stringTransloadit API key used to authenticate requests |
Response
Here’s an example response body:
{
"assembly_id": "7828446e5acd4aa996dce3455ec914e9",
"assembly_ssl_url": "https://api2-example.transloadit.com/assemblies/7828446e5acd4aa996dce3455ec914e9",
"assembly_url": "http://api2.example.transloadit.com/assemblies/7828446e5acd4aa996dce3455ec914e9",
"message": "The Assembly is now in the process of being replayed.",
"notify_url": null,
"ok": "ASSEMBLY_REPLAYING",
"success": true
}2xx success
JSON response body. application/json text/plain; charset=utf-8
Response body schema
Complete JSON Schema
The response may contain additional fields.
| Field | Type and description |
|---|---|
assembly_idrequired | string |
assembly_ssl_urlrequired | string |
assembly_urlrequired | string |
messagerequired | string |
notify_urlrequired | null | string |
okrequired | string (always: "ASSEMBLY_REPLAYING") |
successrequired | boolean (always: true) |
Error response
JSON response body. application/json text/plain; charset=utf-8
Response body schema
Complete JSON Schema
The response may contain additional fields.
| Field | Type and description |
|---|---|
assembly_id | string |
error | string (minimum length: 1) |
http_code | number | string
|
message | stringHuman-readable explanation of the error. Its wording can vary; use the |
reason | null | string | number | boolean | Array<any value> | objectAny of the following schemas may apply: nullstringnumberbooleanArray<any value>Array<any value>Array item schemaany valueobjectobjectAdditional property schemaany value |