Transloadit
Pricing
  • File Uploads
  • File Importing
  • Batch Processing
  • Video Encoding
  • Audio Encoding
  • Image Processing
  • Document Processing
  • Artificial Intelligence
  • File Filtering & Security
  • Media Cataloging
  • File Compression
  • Code Evaluation
  • File Exporting
  • Smart CDN
  • View all services
  • Explore integrations
  • Explore live demos
  • Uppy
  • TransloaditKit
  • Android SDK
  • Node.js SDK
  • Python SDK
  • Ruby SDK
  • Go SDK
  • Java SDK
  • PHP SDK
  • Zapier
  • MCP Server
  • Transloadit CLI
  • Terraform
  • Essentials
  • Best Practices
  • FAQ
  • Robots
  • API
  • Formats
  • Build your first app
  • About
  • Comparisons
  • Open Source
  • Testimonials
  • Jobs
  • Security
  • Posts
  • DevTimes
  • DevTips
  • Press
  • Research
  • Case Studies
  • Solutions
  • Guides
  • Glossary
  • Legal
  • Tools
  • Helping Coursera bring education to millions around the world
  • Transloadit Support
  • Open Source Support
  • Service level agreement
EssentialsRobotsFAQAPIFormatsBest Practices
Topics
  • Endpoints
  • Response codes
  • Authentication
  • Webhooks
  • Metadata
  • API security
  • Rate limiting
  • Queues
  • Resumable uploads
Authentication
  • Create a bearer token
  • Create a new Auth Key
  • Retrieve list of Auth Keys
  • Retrieve Auth Key scopes
  • Edit an Auth Key
  • Delete an Auth Key
  • Retrieve an Auth Key secret
Assemblies
  • Create a new Assembly
  • Retrieve an Assembly Status
  • Create an Assembly with a supplied ID
  • Stream Assembly changes live
  • Cancel a running Assembly
  • Replay an Assembly
  • Retrieve list of Assemblies
  • Assembly Status response
  • Retrieve Assembly statistics
Webhooks
  • Retrieve Assembly Notifications
  • Replay Assembly Notification
Billing
  • Retrieve a month’s bill
Queues
  • Retrieve currently used priority job slots
  • Retrieve priority job slot statistics
Resumable Uploads
  • Discover tus capabilities
  • Create a tus upload
  • Retrieve a tus upload offset
  • Upload tus file bytes
  • Terminate a tus upload
  • Download a tus upload
Template Credentials
  • Create a new Template Credential
  • Retrieve a Template Credential
  • Edit a Template Credential
  • Delete a Template Credential
  • Retrieve list of Template Credentials
  • Retrieve Template Credential types
Templates
  • Create a new Template
  • Retrieve a Template
  • Edit a Template
  • Delete a Template
  • Retrieve list of Templates
Digital Asset Management
  • Move or rename a DAM asset alpha
  • Delete a DAM asset alpha
  • Move DAM assets in bulk alpha
  • Delete DAM assets in bulk alpha
  • Move a Storage file or folder alpha
  • Retrieve a Storage asset
  • List Storage assets

Webhooks

Configure Webhooks

Set notify_url in your Assembly Instructions, at the same level as steps. Once the Assembly reaches a terminal state, Transloadit sends an HTTP POST to that URL.

Any status from 200 up to but not including 300 acknowledges delivery. Redirects and client or server errors are treated as failures. By default, Transloadit retries failures 5 times with an exponential factor of 1.97.

Acknowledgment confirms receipt, not successful processing. Inspect the verified payload’s ok state or error code to distinguish completed, canceled and failed Assemblies. A Notification replay can also deliver a nonterminal Assembly Status; do not assume every delivery means completion.

Limit the Notification payload

By default, a Webhook includes the complete Assembly Status. Set notification_payload to an array containing any combination of these supported filters:

  • without_params: the top-level raw Assembly instruction fields params, template, and merged_params are omitted.
  • without_result_meta_data: meta is omitted from each file in results.
  • without_results: the top-level results object is omitted.
  • without_upload_meta_data: meta is omitted from each file in uploads.
  • without_uploads: the top-level uploads array is omitted.

Notification replays reuse filters supplied in the original Assembly request. Filters defined only in a Template are not preserved on replay, so a replay can include data omitted from the initial Notification. Supply notification_payload in the original Assembly request when replays must use the same filters.

The payload schema below permits these omissions. Upload meta can be absent even when the upload remains in uploads. Other fields retain their Assembly Status meaning. Accept additive fields for compatibility, but do not depend on undocumented diagnostic fields.

Verify the signature

Assembly Webhooks use the application/x-www-form-urlencoded media type. The transloadit field contains the exact serialized Assembly Status JSON, and the signature field contains its lowercase hexadecimal HMAC.

To verify a Webhook:

  1. Read the transloadit and signature form fields without modifying the payload string.
  2. Calculate an HMAC-SHA1 hexadecimal digest over the exact transloadit string, using the trusted Auth Secret selected as described below.
  3. Compare the calculated digest with signature using a timing-safe comparison.
  4. Parse transloadit as JSON only after the signatures match.

An Assembly’s initial Notification uses the Auth Secret of the Auth Key that authenticated its creation, including when it was created by an Assembly replay. Notification replays first look up the Auth Key recorded in the Assembly Status as api_auth_key_id. If that key is not recorded, cannot be resolved, has been deleted, or its lookup fails, the Notification replay uses the authenticated replay caller’s Auth Secret instead.

Assembly replays retain the parent’s historical api_auth_key_id. For example, if Key A creates an Assembly and Key B replays it, the new Assembly’s initial Notification is signed with B’s secret. Replaying that Notification can use A’s secret, even when B calls both replay endpoints and both keys remain active. Keep the applicable parent and replay-creation secrets available to your verifier; do not assume every delivery for one Assembly uses the same secret.

Select verification secrets from trusted server-side configuration for the expected Workspace and Assembly, not from fields in the unverified payload. When more than one configured secret is applicable, accept the request only if its signature matches one of those trusted secrets. If none matches, reject the request; do not skip verification to accept a replay.

Unlike current API-request signatures, the Webhook signature is an unprefixed sha1 digest for backwards compatibility. Treat the payload as untrusted and reject the request when either field is absent, the signature is malformed, or the comparison fails.

Use one of our SDK verification helpers when available. If you implement verification yourself, do not reserialize the parsed JSON before calculating the HMAC: whitespace and object-key order are part of the signed byte sequence.

import { createHmac, timingSafeEqual } from 'node:crypto'

// authSecret must come from trusted server-side configuration.
function verifyTransloaditWebhook({ authSecret, payload, signature }) {
  if (typeof payload !== 'string' || typeof signature !== 'string') return false
  if (!/^[0-9a-f]+$/.test(signature)) return false

  const expected = createHmac('sha1', authSecret).update(payload, 'utf8').digest()
  if (signature.length !== expected.length * 2) return false
  const received = Buffer.from(signature, 'hex')

  return received.length === expected.length && timingSafeEqual(received, expected)
}

Webhook form fields

Complete JSON Schema

Open JSON in a new tab

Transloadit sends only the fields listed for this object.

FieldType and description
signature

required

string

Lowercase hexadecimal HMAC-SHA1 of the exact transloadit string, without an algorithm prefix. Use a trusted Auth Secret and a timing-safe comparison.

Validation pattern (regular expression)^[0-9a-f]{40}$
transloadit

required

string

Exact JSON text of the filtered Assembly Status. Verify the signature over this unmodified string before parsing it as JSON.

Verified JSON payload

Complete JSON Schema

Open JSON in a new tab

FieldType and description
account_id
null | string
account_name
null | string
account_slug
null | string
api_auth_key_id
null | string
assemblyId
string
assembly_id
string

The unique ID of this Assembly. You can store this in a database when an Assembly is created, and use it to match incoming Notifications.

assembly_ssl_url
null | string

The unique URL used to query the current status of this Assembly, but ready to be used over SSL/HTTPS. All API requests that are sent to the assembly_url can also be sent to the assembly_ssl_url.

assembly_url
null | string

The unique URL used to query the current status of this Assembly.

build_id
string

Optional build identifier for support troubleshooting. Treat it as opaque; it may change between Assemblies.

bytes_expected
number

The number of bytes that this Assembly expects to be uploaded.

bytes_received
number

The number of bytes that have been uploaded to this Assembly so far. This is primarily used by clients to display upload progress.

bytes_usage
number | null

The total number of bytes that this Assembly processed that count towards your usage bill. The sum of bytes_usage of all of your Assemblies equal your total monthly usage.

client_agent
null | string

The uploader’s user agent is not exposed; this deprecated field is always null.

client_ip
null | string

The uploader’s IP address is not exposed; this deprecated field is always null.

client_referer
null | string

The uploader’s referrer URL is not exposed; this deprecated field is always null.

companion_url
null | string

The URL to the Companion server that this Assembly may communicate with.

executing_jobs
Array<string>
Array item schema
string
execution_duration
number | null

The time taken by Transloadit to execute this Assembly, in seconds.

execution_start
null | string
expected_tus_uploads
number
fields
object

A key/value map of additional form fields for integrations that cannot use <form> encapsulation, such as Uppy.

Additional property schema
any value
finished_tus_uploads
number
has_dupe_jobs
boolean
ignored_error_count
number
ignored_errors
Array<object>
Array item schema
object

ignored_errors[]: Transloadit may send additional fields.

FieldType and description
ignored_errors[].error
any value
ignored_errors[].message
string
ignored_errors[].phase
string
ignored_errors[].step
null | string
info
object

info: Transloadit may send additional fields.

info.retryIn
number
instance
null | string
is_infinite
boolean
jobs_queue_duration
number
last_job_completed
null | string
merged_params
null | string
message
string

A human-readable message explaining the state of this Assembly. This is not always present.

notify_duration
number | null

Elapsed delivery time in seconds, including automatic retry attempts and the delays between them.

notify_error
null | string
notify_response_code
number | null
notify_response_data
null | string
notify_start
null | string
notify_status
null | string
notify_url
null | string
num_input_files
number
params
null | string
parent_assembly_status
any value | null

Any of the following schemas may apply:

any value
any value
null
parent_id
null | string
previousStep
string

Name of the preceding Step associated with the error, when available.

queue_duration
number
region
string
results
object

The result files that Transloadit has produced so far. Each key is the name of the Step that produced a file. Storage Robots do not produce files, so their Step names are omitted. When an error occurs, this object may contain partial results.

Additional property schema
Array<object>

Additional schema details are available in the complete JSON Schema.

running_jobs
Array<string>
Array item schema
string
start_date
string

The date and time at which upload started for this Assembly.

started_jobs
Array<string>
Array item schema
string
started_tus_uploads
number
step
string

Name of the Step associated with the error, when available.

template
null | string
template_id
null | string
template_name
null | string
transloadit_client
null | string
tus_uploads
Array<object>
Array item schema
object

tus_uploads[]: Transloadit may send additional fields.

FieldType and description
tus_uploads[].fieldname

required

string
tus_uploads[].filename

required

string
tus_uploads[].finished

required

boolean
tus_uploads[].offset

required

number
tus_uploads[].size

required

number
tus_uploads[].upload_url

required

string
tus_uploads[].user_meta
object

Additional schema details are available in the complete JSON Schema.

tus_url
string

The URL to the tus server used by this Assembly for resumable uploads.

update_stream_url
null | string

The URL to a server-sent events stream from which you can get realtime status updates of this Assembly.

upload_duration
number

The time taken by the uploader to upload files, in seconds.

upload_meta_data_extracted
boolean
uploads
Array<object>

An array of files uploaded for this Assembly. For more information, see the metadata docs.

Array item schema
object
FieldType and description
uploads[].as
string | Array<string> | null

Additional schema details are available in the complete JSON Schema.

uploads[].asset_id
string

Stable identity of a file stored by /transloadit/store. Retain this with its Workspace and version_id; the ordinary file id is not a Storage asset ID.

uploads[].asset_version
number

Numeric revision of the stored asset. Use version_id, not this number, to select exact retained bytes.

uploads[].cost
number | null
uploads[].exec_time
number
uploads[].from_batch_import
boolean
uploads[].has_alpha
boolean

Whether this stored image version has an alpha channel, when known.

uploads[].import_url
string
uploads[].is_temp_url
boolean
uploads[].is_tus_file
boolean
uploads[].md5hash
null | string
uploads[].meta
object

An object containing additional metadata extracted from the file, as shown below.

Additional schema details are available in the complete JSON Schema.

uploads[].original_basename
null | string
uploads[].original_id

required

string | Array<null | string>

The unique ID of the original upload file from which this file was generated. This is useful to determine which file of a multi-file upload was used to generate a given file, after several Steps of processing.

Additional schema details are available in the complete JSON Schema.

uploads[].original_md5hash
null | string
uploads[].original_name
null | string
uploads[].original_path
string
uploads[].queue
null | string
uploads[].queue_time
number
uploads[].sha256
string

Lowercase SHA-256 checksum of the stored bytes, when available.

Validation pattern (regular expression)^[a-f0-9]{64}$
uploads[].ssl_url
null | string
uploads[].thumbhash
string

Base64-encoded ThumbHash retained with this stored image version, when available. Protect this image data with the same access controls as the original.

Validation pattern (regular expression)^(?:[A-Za-z0-9+/]{4}){1,15}(?:[A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)$
uploads[].tus_upload_url
null | string
uploads[].user_meta
object

Additional schema details are available in the complete JSON Schema.

uploads[].version_id
string

Immutable version ID returned after Storage finalizes the result. Import with asset_id and this version_id to retain the same bytes after a move or overwrite, subject to retention and access.

Validation pattern (regular expression)^[A-Za-z0-9_-]{21}[AQgw]$
uploads[].workspace
string (minimum length: 1)

Workspace slug that owns this stored result. Authenticate for this Workspace when importing or managing it.

Any of the following schemas may apply:

required properties: basename, ext, field, id, mime, name, size, type, url: object
object

uploads[]: Transloadit may send additional fields.

FieldType and description
uploads[].basename

required

null | string

The name of the file without the extension.

uploads[].ext

required

string

The extension of the file.

uploads[].field

required

null | string

The name of the form field used to submit this file.

uploads[].id

required

string

A random and unique ID used internally by Transloadit to track the file.

uploads[].mime

required

null | string

The determined MIME type for this file.

uploads[].name

required

null | string

The name of the file. Transloadit will change the extension used for this field if the file undergoes processing into a different format.

uploads[].size

required

number

The size of the file, in bytes.

uploads[].type

required

null | string

An abstract category describing the file. Known values are "audio", "document", "image", "office", "pdf", "swf", "video", "xls", or null when no category was detected. Consumers should accept other strings so future categories remain compatible.

uploads[].url

required

null | string

A URL from which the file can be downloaded, or null when no delivery URL is available. Temporary URLs on our servers expire after a few hours; export files to storage for later use. Private-storage results from /transloadit/store return null for both url and ssl_url. Keep the returned Workspace, asset_id, and version_id for a durable reference, subject to access and retention. /transloadit/import accepts asset_id with an optional version_id, or a mutable path. Neither a temporary URL nor the processing file’s id is a durable Storage reference.

Variant 2: object
object

uploads[]: Transloadit may send additional fields.

FieldType and description
uploads[].basename
null | string

The name of the file without the extension.

uploads[].ext
string

The extension of the file.

uploads[].field
null | string

The name of the form field used to submit this file.

uploads[].id
never

This value is prohibited.

uploads[].mime
null | string

The determined MIME type for this file.

uploads[].name
null | string

The name of the file. Transloadit will change the extension used for this field if the file undergoes processing into a different format.

uploads[].size
number

The size of the file, in bytes.

uploads[].type
null | string

An abstract category describing the file. Known values are "audio", "document", "image", "office", "pdf", "swf", "video", "xls", or null when no category was detected. Consumers should accept other strings so future categories remain compatible.

uploads[].url
null | string

A URL from which the file can be downloaded, or null when no delivery URL is available. Temporary URLs on our servers expire after a few hours; export files to storage for later use. Private-storage results from /transloadit/store return null for both url and ssl_url. Keep the returned Workspace, asset_id, and version_id for a durable reference, subject to access and retention. /transloadit/import accepts asset_id with an optional version_id, or a mutable path. Neither a temporary URL nor the processing file’s id is a durable Storage reference.

uppyserver_url
null | string
usage_tags
string
virusname
string
warnings
Array<object>
Array item schema
object

warnings[]: Transloadit may send additional fields.

FieldType and description
warnings[].action
object (required properties: message, text, type)

Additional schema details are available in the complete JSON Schema.

warnings[].level

required

"notice" | "warning"
warnings[].msg

required

string
websocket_url
null | string

The URL to a Websocket (uses Socket.IO) server from which you can get realtime status updates of this Assembly.

Any of the following schemas may apply:

ok: "ASSEMBLY_EXECUTING" | "ASSEMBLY_REPLAYING" | "ASSEMBLY_UPLOADING"

Transloadit may send additional fields.

FieldType and description
error
never

Indicates an error status. This key is only present if the Assembly failed.

This value is prohibited.

ok

required

"ASSEMBLY_EXECUTING" | "ASSEMBLY_REPLAYING" | "ASSEMBLY_UPLOADING"

Indicates a non-error lifecycle status, including uploading, executing, aborted, and canceled states. Successful processing is indicated by ASSEMBLY_COMPLETED. If the Assembly encountered an error, the error key below is used instead of this key.

ok: string

Transloadit may send additional fields.

FieldType and description
error
never

Indicates an error status. This key is only present if the Assembly failed.

This value is prohibited.

ok

required

string

Indicates a non-error lifecycle status, including uploading, executing, aborted, and canceled states. Successful processing is indicated by ASSEMBLY_COMPLETED. If the Assembly encountered an error, the error key below is used instead of this key.

Allowed values (6)
  • "ASSEMBLY_CANCELED"
  • "ASSEMBLY_COMPLETED"
  • "ASSEMBLY_EXECUTING"
  • "ASSEMBLY_REPLAYING"
  • "ASSEMBLY_UPLOADING"
  • "REQUEST_ABORTED"
required properties: error

Transloadit may send additional fields.

FieldType and description
cmd
string | Array<string | number>

Optional processing command details for troubleshooting. Diagnostic details may vary; use the error code for programmatic error handling.

Any of the following schemas may apply:

string
Array<string | number>
Array<string | number>
Array item schema
string | number
error

required

string

Indicates an error status. This key is only present if the Assembly failed.

Allowed values (362)
  • "ADMIN_PERMISSIONS_REQUIRED"
  • "AI_CHAT_VALIDATION"
  • "ASSEMBLY_ACCOUNT_MISMATCH"
  • "ASSEMBLY_CANNOT_BE_REPLAYED"
  • "ASSEMBLY_COULD_NOT_BE_CREATED"
  • "ASSEMBLY_CRASHED"
  • "ASSEMBLY_DISALLOWED_ROBOTS_USED"
  • "ASSEMBLY_EMPTY_STEPS"
  • "ASSEMBLY_EXECUTION_PROGRESS_NOT_ENABLED"
  • "ASSEMBLY_EXPIRED"
  • "ASSEMBLY_FILE_NOT_RESERVED"
  • "ASSEMBLY_INFINITE"
  • "ASSEMBLY_INVALID_NOTIFY_URL"
  • "ASSEMBLY_INVALID_NUM_EXPECTED_UPLOAD_FILES_PARAM"
  • "ASSEMBLY_INVALID_STEPS"
  • "ASSEMBLY_JOB_ENQUEUE_ERROR"
  • "ASSEMBLY_LIST_ERROR"
  • "ASSEMBLY_MEMORY_LIMIT_EXCEEDED"
  • "ASSEMBLY_NOTIFICATIONS_LIST_ERROR"
  • "ASSEMBLY_NOTIFICATION_LIST_ERROR"
  • "ASSEMBLY_NOTIFICATION_NOT_PERSISTED"
  • "ASSEMBLY_NOTIFICATION_NOT_REPLAYED"
  • "ASSEMBLY_NOT_CAPABLE"
  • "ASSEMBLY_NOT_FINISHED"
  • "ASSEMBLY_NOT_FOUND"
  • "ASSEMBLY_NOT_REPLAYED"
  • "ASSEMBLY_NO_CHARGEABLE_STEP"
  • "ASSEMBLY_NO_NOTIFY_URL"
  • "ASSEMBLY_NO_STEPS"
  • "ASSEMBLY_PLAN_FILE_SIZE_LIMIT_EXCEEDED"
  • "ASSEMBLY_ROBOT_MISSING"
  • "ASSEMBLY_SATURATED"
  • "ASSEMBLY_STATS_ERROR"
  • "ASSEMBLY_STATS_INVALID_TIME"
  • "ASSEMBLY_STATS_MISSING_REGION"
  • "ASSEMBLY_STATUS_FETCHING_RATE_LIMIT_REACHED"
  • "ASSEMBLY_STATUS_NOT_FOUND"
  • "ASSEMBLY_STATUS_PARSE_ERROR"
  • "ASSEMBLY_STEP_INVALID"
  • "ASSEMBLY_STEP_INVALID_ROBOT"
  • "ASSEMBLY_STEP_INVALID_USE"
  • "ASSEMBLY_STEP_NO_ROBOT"
  • "ASSEMBLY_STEP_UNKNOWN_ROBOT"
  • "ASSEMBLY_STEP_UNKNOWN_USE"
  • "ASSEMBLY_URL_TRANSFORM_MISSING"
  • "AUDIO_ARTWORK_VALIDATION"
  • "AUDIO_CONCAT_INVALID_INPUT"
  • "AUDIO_CONCAT_VALIDATION"
  • "AUDIO_ENCODE_VALIDATION"
  • "AUDIO_LOOP_VALIDATION"
  • "AUDIO_MERGE_VALIDATION"
  • "AUDIO_SPLIT_NO_OUTPUT"
  • "AUDIO_SPLIT_VALIDATION"
  • "AUDIO_WAVEFORM_VALIDATION"
  • "AUTH_EXPIRED"
  • "AUTH_KEYS_NOT_FOUND"
  • "AUTH_KEY_SCOPES_NOT_FOUND"
  • "AUTH_SECRET_NOT_RETRIEVED"
  • "AZURE_IMPORT_ACCESS_DENIED"
  • "AZURE_IMPORT_FAILURE"
  • "AZURE_IMPORT_NOT_FOUND"
  • "AZURE_IMPORT_VALIDATION"
  • "AZURE_STORE_ACCESS_DENIED"
  • "AZURE_STORE_NOT_FOUND"
  • "AZURE_STORE_VALIDATION"
  • "BACKBLAZE_IMPORT_ACCESS_DENIED"
  • "BACKBLAZE_IMPORT_FAILURE"
  • "BACKBLAZE_IMPORT_NOT_FOUND"
  • "BACKBLAZE_IMPORT_VALIDATION"
  • "BACKBLAZE_STORE_ACCESS_DENIED"
  • "BACKBLAZE_STORE_FAILURE"
  • "BACKBLAZE_STORE_VALIDATION"
  • "BAD_PRICING"
  • "BEARER_TOKEN_AUTH_KEY_MISMATCH"
  • "BEARER_TOKEN_EXPIRED"
  • "BEARER_TOKEN_INVALID"
  • "BILL_LIMIT_EXCEEDED"
  • "BOX_IMPORT_ACCESS_DENIED"
  • "BOX_IMPORT_FAILURE"
  • "BOX_IMPORT_NOT_FOUND"
  • "BOX_IMPORT_VALIDATION"
  • "BOX_STORE_COULD_NOT_PARSE_URL"
  • "BOX_STORE_VALIDATION"
  • "CANNOT_ACCEPT_NEW_ASSEMBLIES"
  • "CDN_REQUIRED"
  • "CLOUDFILES_IMPORT_ACCESS_DENIED"
  • "CLOUDFILES_IMPORT_FAILURE"
  • "CLOUDFILES_IMPORT_NOT_FOUND"
  • "CLOUDFILES_IMPORT_VALIDATION"
  • "CLOUDFILES_STORE_ACCESS_DENIED"
  • "CLOUDFILES_STORE_ERROR"
  • "CLOUDFILES_STORE_VALIDATION"
  • "CLOUDFLARE_IMPORT_ACCESS_DENIED"
  • "CLOUDFLARE_IMPORT_FAILURE"
  • "CLOUDFLARE_IMPORT_NOT_FOUND"
  • "CLOUDFLARE_IMPORT_VALIDATION"
  • "CLOUDFLARE_STORE_ACCESS_DENIED"
  • "CLOUDFLARE_STORE_NOT_FOUND"
  • "CLOUDFLARE_STORE_URL_VERIFICATION_FAILURE"
  • "CLOUDFLARE_STORE_VALIDATION"
  • "CLOUDFLARE_STORE_WRONG_REGION"
  • "CLOUD_AI_IMAGE_VALIDATION"
  • "DIGITALOCEAN_IMPORT_ACCESS_DENIED"
  • "DIGITALOCEAN_IMPORT_FAILURE"
  • "DIGITALOCEAN_IMPORT_NOT_FOUND"
  • "DIGITALOCEAN_IMPORT_VALIDATION"
  • "DIGITALOCEAN_STORE_ACCESS_DENIED"
  • "DIGITALOCEAN_STORE_NOT_FOUND"
  • "DIGITALOCEAN_STORE_VALIDATION"
  • "DIGITALOCEAN_STORE_WRONG_REGION"
  • "DOCUMENT_AUTOROTATE_VALIDATION"
  • "DOCUMENT_CONVERT_UNSUPPORTED_CONVERSION"
  • "DOCUMENT_CONVERT_VALIDATION"
  • "DOCUMENT_EXTRACT_VALIDATION"
  • "DOCUMENT_MERGE_UNSUPPORTED_CONVERSION"
  • "DOCUMENT_MERGE_VALIDATION"
  • "DOCUMENT_OCR_VALIDATION"
  • "DOCUMENT_OPTIMIZE_UNSUPPORTED_INPUT"
  • "DOCUMENT_OPTIMIZE_VALIDATION"
  • "DOCUMENT_SPLIT_VALIDATION"
  • "DOCUMENT_THUMBS_INVALID_INPUT"
  • "DOCUMENT_THUMBS_VALIDATION"
  • "DO_NOT_REUSE_ASSEMBLY_IDS"
  • "DROPBOX_IMPORT_ACCESS_DENIED"
  • "DROPBOX_IMPORT_FAILURE"
  • "DROPBOX_IMPORT_NOT_FOUND"
  • "DROPBOX_IMPORT_VALIDATION"
  • "DROPBOX_STORE_COULD_NOT_PARSE_URL"
  • "DROPBOX_STORE_VALIDATION"
  • "FILE_COMPRESS_INVALID_INPUT"
  • "FILE_COMPRESS_VALIDATION"
  • "FILE_DECOMPRESS_INVALID_INPUT"
  • "FILE_DECOMPRESS_PASSWORD_INCORRECT"
  • "FILE_DECOMPRESS_PASSWORD_REQUIRED"
  • "FILE_DECOMPRESS_VALIDATION"
  • "FILE_DOWNLOAD_ERROR"
  • "FILE_FILTER_DECLINED_FILE"
  • "FILE_FILTER_INVALID_OPERATOR"
  • "FILE_FILTER_VALIDATION"
  • "FILE_HASH_VALIDATION"
  • "FILE_META_DATA_ERROR"
  • "FILE_PREVIEW_VALIDATION"
  • "FILE_READ_VALIDATION_ERROR"
  • "FILE_SERVE_NO_RESULT"
  • "FILE_SERVE_VALIDATION"
  • "FILE_VERIFY_INVALID_FILE"
  • "FILE_VERIFY_VALIDATION"
  • "FILE_VIRUSSCAN_DECLINED_FILE"
  • "FILE_VIRUSSCAN_INVALID_INPUT"
  • "FILE_VIRUSSCAN_VALIDATION"
  • "FTP_IMPORT_ACCESS_DENIED"
  • "FTP_IMPORT_FAILURE"
  • "FTP_IMPORT_NOT_FOUND"
  • "FTP_IMPORT_VALIDATION"
  • "FTP_STORE_VALIDATION"
  • "GET_ACCOUNT_DB_ERROR"
  • "GET_ACCOUNT_UNKNOWN_AUTH_KEY"
  • "GOOGLE_IMPORT_ACCESS_DENIED"
  • "GOOGLE_IMPORT_FAILURE"
  • "GOOGLE_IMPORT_NOT_FOUND"
  • "GOOGLE_IMPORT_VALIDATION"
  • "GOOGLE_STORE_INVALID_INPUT"
  • "GOOGLE_STORE_VALIDATION"
  • "HTML_CONVERT_VALIDATION"
  • "HTTP_IMPORT_ACCESS_DENIED"
  • "HTTP_IMPORT_FAILURE"
  • "HTTP_IMPORT_NOT_FOUND"
  • "HTTP_IMPORT_VALIDATION"
  • "HTTP_REQUEST_FAILURE"
  • "HTTP_REQUEST_VALIDATION"
  • "IMAGE_BGREMOVE_VALIDATION"
  • "IMAGE_COPYRIGHT_DETECT_DECLINED_FILE"
  • "IMAGE_COPYRIGHT_DETECT_VALIDATION"
  • "IMAGE_DESCRIBE_VALIDATION"
  • "IMAGE_ENHANCE_NO_INPUT_FILE"
  • "IMAGE_ENHANCE_VALIDATION"
  • "IMAGE_FACEDETECT_VALIDATION"
  • "IMAGE_GENERATE_VALIDATION"
  • "IMAGE_MERGE_FAILURE"
  • "IMAGE_MERGE_VALIDATION"
  • "IMAGE_OCR_VALIDATION"
  • "IMAGE_OPTIMIZE_VALIDATION"
  • "IMAGE_RESIZE_ERROR"
  • "IMAGE_RESIZE_INVALID_BLUR_REGION"
  • "IMAGE_RESIZE_INVALID_TEXT_OBJECT_VALUE"
  • "IMAGE_RESIZE_INVALID_TEXT_VALUE"
  • "IMAGE_RESIZE_INVALID_WATERMARK_OFFSET"
  • "IMAGE_RESIZE_INVALID_WATERMARK_POSITION"
  • "IMAGE_RESIZE_NO_CLUT_FILE"
  • "IMAGE_RESIZE_NO_INPUT_FILE"
  • "IMAGE_RESIZE_VALIDATION"
  • "IMAGE_UPSCALE_VALIDATION"
  • "IMPORT_FILE_ERROR"
  • "INCOMPLETE_PRICING"
  • "INSUFFICIENT_AUTH_SCOPE"
  • "INTERNAL_COMMAND_ERROR"
  • "INTERNAL_COMMAND_TIMEOUT"
  • "INVALID_ASSEMBLY_STATUS"
  • "INVALID_AUTH_EXPIRES_PARAMETER"
  • "INVALID_AUTH_KEY_PARAMETER"
  • "INVALID_AUTH_MAX_NUMBER_OF_FILES_PARAMETER"
  • "INVALID_AUTH_MAX_SIZE_PARAMETER"
  • "INVALID_AUTH_REFERER_PARAMETER"
  • "INVALID_FILE_META_DATA"
  • "INVALID_FORM_DATA"
  • "INVALID_INPUT_ERROR"
  • "INVALID_PARAMS_FIELD"
  • "INVALID_SIGNATURE"
  • "INVALID_STEP_NAME"
  • "INVALID_TEMPLATE_FIELD"
  • "INVALID_UPLOAD_HANDLE_STEP_NAME"
  • "INVALID_URL_ENCODING"
  • "MAX_NUMBER_OF_FILES_EXCEEDED"
  • "MAX_SIZE_EXCEEDED"
  • "MEGA_IMPORT_ACCESS_DENIED"
  • "MEGA_IMPORT_FAILURE"
  • "MEGA_IMPORT_NOT_FOUND"
  • "MEGA_IMPORT_VALIDATION"
  • "MEGA_STORE_ACCESS_DENIED"
  • "MEGA_STORE_NOT_FOUND"
  • "MEGA_STORE_VALIDATION"
  • "MEGA_STORE_WRONG_REGION"
  • "META_WRITE_VALIDATION"
  • "MINIO_IMPORT_ACCESS_DENIED"
  • "MINIO_IMPORT_FAILURE"
  • "MINIO_IMPORT_NOT_FOUND"
  • "MINIO_IMPORT_VALIDATION"
  • "MINIO_STORE_ACCESS_DENIED"
  • "MINIO_STORE_NOT_FOUND"
  • "MINIO_STORE_VALIDATION"
  • "MINIO_STORE_WRONG_REGION"
  • "NO_AUTH_EXPIRES_PARAMETER"
  • "NO_AUTH_KEY_PARAMETER"
  • "NO_AUTH_PARAMETER"
  • "NO_COUNTRY"
  • "NO_OBJECT_AUTH_PARAMETER"
  • "NO_OBJECT_PARAMS_FIELD"
  • "NO_PARAMS_FIELD"
  • "NO_PRICING"
  • "NO_RESULT_STEP_FOUND"
  • "NO_RPC_RESULT_FROM_IMAGE_RESIZER"
  • "NO_SIGNATURE_FIELD"
  • "NO_TEMPLATE_ID"
  • "PLAN_LIMIT_EXCEEDED"
  • "POSSIBLY_MALICIOUS_FILE_FOUND"
  • "PRIORITY_JOB_SLOTS_NOT_FOUND"
  • "PRIORITY_JOB_SLOT_STATS_ERROR"
  • "PRIORITY_JOB_SLOT_STATS_INVALID_AGGREGATION"
  • "PRIORITY_JOB_SLOT_STATS_INVALID_TIME"
  • "PRIORITY_JOB_SLOT_STATS_MISSING_REGION"
  • "RATE_LIMIT_REACHED"
  • "REFERER_MISMATCH"
  • "REQUEST_PREMATURE_CLOSED"
  • "ROBOT_VALIDATION_BASE_ERROR"
  • "S3_ACCESS_DENIED"
  • "S3_IMPORT_ACCESS_DENIED"
  • "S3_IMPORT_FAILURE"
  • "S3_IMPORT_NOT_FOUND"
  • "S3_IMPORT_VALIDATION"
  • "S3_NOT_FOUND"
  • "S3_STORE_ACCESS_DENIED"
  • "S3_STORE_FAILURE"
  • "S3_STORE_NOT_FOUND"
  • "S3_STORE_URL_VERIFICATION_FAILURE"
  • "S3_STORE_VALIDATION"
  • "S3_STORE_WRONG_REGION"
  • "S3_WRONG_REGION"
  • "SCRIPT_RUN_VALIDATION"
  • "SERVER_403"
  • "SERVER_404"
  • "SERVER_500"
  • "SFTP_IMPORT_ACCESS_DENIED"
  • "SFTP_IMPORT_FAILURE"
  • "SFTP_IMPORT_NOT_FOUND"
  • "SFTP_IMPORT_VALIDATION"
  • "SFTP_STORE_VALIDATION"
  • "SIGNATURE_REUSE_DETECTED"
  • "SPEECH_TRANSCRIBE_VALIDATION"
  • "STORAGE_GRANT_NOT_CREATED"
  • "SUPABASE_IMPORT_ACCESS_DENIED"
  • "SUPABASE_IMPORT_FAILURE"
  • "SUPABASE_IMPORT_NOT_FOUND"
  • "SUPABASE_IMPORT_VALIDATION"
  • "SUPABASE_STORE_ACCESS_DENIED"
  • "SUPABASE_STORE_NOT_FOUND"
  • "SUPABASE_STORE_VALIDATION"
  • "SUPABASE_STORE_WRONG_REGION"
  • "SWIFT_IMPORT_ACCESS_DENIED"
  • "SWIFT_IMPORT_FAILURE"
  • "SWIFT_IMPORT_NOT_FOUND"
  • "SWIFT_IMPORT_VALIDATION"
  • "SWIFT_STORE_ACCESS_DENIED"
  • "SWIFT_STORE_NOT_FOUND"
  • "SWIFT_STORE_VALIDATION"
  • "SWIFT_STORE_WRONG_REGION"
  • "TEMPLATE_CREDENTIALS_INJECTION_ERROR"
  • "TEMPLATE_DB_ERROR"
  • "TEMPLATE_DENIES_STEPS_OVERRIDE"
  • "TEMPLATE_INVALID_JSON"
  • "TEMPLATE_NOT_FOUND"
  • "TEXT_SPEAK_VALIDATION"
  • "TEXT_TRANSLATE_VALIDATION"
  • "TIGRIS_IMPORT_ACCESS_DENIED"
  • "TIGRIS_IMPORT_FAILURE"
  • "TIGRIS_IMPORT_NOT_FOUND"
  • "TIGRIS_IMPORT_VALIDATION"
  • "TIGRIS_STORE_ACCESS_DENIED"
  • "TIGRIS_STORE_NOT_FOUND"
  • "TIGRIS_STORE_VALIDATION"
  • "TIGRIS_STORE_WRONG_REGION"
  • "TMP_FILE_DOWNLOAD_ERROR"
  • "TOKEN_INVALID_CREDENTIALS"
  • "TRANSIENT_STORAGE_SERVICE_ERROR"
  • "TRANSLOADIT_IMPORT_ACCESS_DENIED"
  • "TRANSLOADIT_IMPORT_FAILURE"
  • "TRANSLOADIT_IMPORT_NOT_FOUND"
  • "TRANSLOADIT_IMPORT_VALIDATION"
  • "TRANSLOADIT_STORE_CONFLICT"
  • "TRANSLOADIT_STORE_FAILURE"
  • "TRANSLOADIT_STORE_UNAVAILABLE"
  • "TRANSLOADIT_STORE_VALIDATION"
  • "TUS_STORE_VALIDATION"
  • "USER_COMMAND_ERROR"
  • "VERIFIED_EMAIL_REQUIRED"
  • "VIDEO_ADAPTIVE_VALIDATION"
  • "VIDEO_ARTWORK_VALIDATION"
  • "VIDEO_CONCAT_INVALID_INPUT"
  • "VIDEO_CONCAT_NO_OUTPUT"
  • "VIDEO_CONCAT_VALIDATION"
  • "VIDEO_ENCODE_INVALID_VIDEO_CODEC"
  • "VIDEO_ENCODE_INVALID_WATERMARK_POSITION"
  • "VIDEO_ENCODE_VALIDATION"
  • "VIDEO_GENERATE_VALIDATION"
  • "VIDEO_MERGE_NO_IMAGE_FOUND"
  • "VIDEO_MERGE_VALIDATION"
  • "VIDEO_ONDEMAND_NOT_FOUND"
  • "VIDEO_ONDEMAND_VALIDATION"
  • "VIDEO_SPLIT_NO_OUTPUT"
  • "VIDEO_SPLIT_VALIDATION"
  • "VIDEO_SUBTITLE_VALIDATION"
  • "VIDEO_THUMBS_INVALID_COUNT_VALUE"
  • "VIDEO_THUMBS_INVALID_FORMAT"
  • "VIDEO_THUMBS_INVALID_INPUT"
  • "VIDEO_THUMBS_VALIDATION"
  • "VIMEO_IMPORT_ACCESS_DENIED"
  • "VIMEO_IMPORT_FAILURE"
  • "VIMEO_IMPORT_NOT_FOUND"
  • "VIMEO_IMPORT_VALIDATION"
  • "VIMEO_STORE_ACCESS_DENIED"
  • "VIMEO_STORE_PROBLEM_SENDING_FILE"
  • "VIMEO_STORE_VALIDATION"
  • "WASABI_IMPORT_ACCESS_DENIED"
  • "WASABI_IMPORT_FAILURE"
  • "WASABI_IMPORT_NOT_FOUND"
  • "WASABI_IMPORT_VALIDATION"
  • "WASABI_STORE_ACCESS_DENIED"
  • "WASABI_STORE_NOT_FOUND"
  • "WASABI_STORE_VALIDATION"
  • "WASABI_STORE_WRONG_REGION"
  • "WORKER_JOB_ERROR"
  • "YOUTUBE_STORE_PROBLEM_SENDING_FILE"
  • "YOUTUBE_STORE_VALIDATION"
exitCode
number | null

Optional exit status of a failed processing command. Diagnostic details may vary; use the error code for programmatic error handling.

exitSignal
null | string

Optional signal that terminated a processing command. Diagnostic details may vary; use the error code for programmatic error handling.

file
string
headers
object
Additional property schema
any value
is_private_address
boolean
name
string
numRetries
number
ok
null
playwright_error_code
string
reason
null | string | number | boolean | Array<any value> | object

Optional diagnostic details. Do not assume this value is a string or display it directly; use message for human-readable text. Diagnostic details may vary; use the error code for programmatic error handling.

Any of the following schemas may apply:

null
string
number
boolean
Array<any value>
Array<any value>
Array item schema
any value
object
object
Additional property schema
any value
response_code
number | null
retries
number
retryable
boolean
stderr
string

Optional diagnostic output from a processing command, for troubleshooting. Diagnostic details may vary; use the error code for programmatic error handling.

stdout
string

Optional standard output from a processing command, for troubleshooting. Diagnostic details may vary; use the error code for programmatic error handling.

url
string
url_host
null | string
Previous page ← AuthenticationNext page Metadata →
Contact support⁠

TransloaditChecking status…

Product

  • Services
  • Pricing
  • Demos
  • Tools
  • Security
  • Support

Company

  • About/Press
  • Blog/Jobs
  • Comparisons/Compliance matrix
  • Research
  • Open source
  • Solutions

Docs

  • Getting started
  • Transcoding
  • FAQ
  • API
  • Guides/DevTips
  • Supported formats

More

  • Platform status⁠
  • Community forum⁠
  • StackOverflow⁠
  • Uppy
  • tus⁠

© 2009–2026 Transloadit-II GmbH

PrivacyTermsImprint
EnglishDeutschEspañolPortuguês (Brasil)