Response codes
The following lists the response codes returned by Transloadit, which you can use to handle errors.
An Assembly is running while ok is one of: ASSEMBLY_UPLOADING, ASSEMBLY_EXECUTING, ASSEMBLY_REPLAYING.
All other ok states are terminal. If the Assembly
completed in error, the
error property will be set. More details on ok and error codes can be found below.
HTTP statuses below describe direct API responses. Polling an Assembly Status can return
HTTP 200 even when the Assembly’s processing result contains error; always inspect the body.
OK codes
OK codes are always returned via ok key, like this: { ok: "{OK_CODE}" }.
ASSEMBLY_CANCELED-
Response key:
ok. HTTP status:200.The Assembly was canceled.
ASSEMBLY_COMPLETED-
Response key:
ok. HTTP status:200.The Assembly was completed successfully.
ASSEMBLY_EXECUTING-
Response key:
ok. HTTP status:200.The Assembly is currently being executed.
ASSEMBLY_NOTIFICATION_REPLAYED-
Response key:
ok. HTTP status:200.The Assembly Notification was replayed.
ASSEMBLY_REPLAYING-
Response key:
ok. HTTP status:200.The Assembly is being replayed.
ASSEMBLY_UPLOADING-
Response key:
ok. HTTP status:200.The Assembly is still in the process of being uploaded.
REQUEST_ABORTED-
Response key:
ok. HTTP status:200.The upload connection closed or timed out. This is a finite, unsuccessful outcome for client waiting, not proof that background work has stopped. It can also occur after all upload data was received. Use an explicit cancellation request if you want to stop any remaining work.
Other response codes
Successful responses use the ok key, while failures use error.
ADMIN_PERMISSIONS_REQUIRED-
Response key:
error. HTTP status:403.You require admin permissions to do this.
ASSEMBLY_ACCOUNT_MISMATCH-
Response key:
error. HTTP status:400.You are not allowed to access this Assembly because it is not yours.
ASSEMBLY_CANCEL_UNAVAILABLE-
Response key:
error. HTTP status:503.The Assembly cancellation outcome could not be confirmed. Check its status before deciding whether to try again.
ASSEMBLY_CANNOT_BE_REPLAYED-
Response key:
error. HTTP status:404.The Assembly cannot be replayed.
ASSEMBLY_COULD_NOT_BE_CREATED-
Response key:
error. HTTP status:400.The Assembly could not be created.
ASSEMBLY_CRASHED-
Response key:
error. HTTP status:500.The process managing this Assembly crashed and could not be restored.
ASSEMBLY_DISALLOWED_ROBOTS_USED-
Response key:
error. HTTP status:400.Your Assembly uses one or more disallowed Robots.
ASSEMBLY_EMPTY_STEPS-
Response key:
error. HTTP status:400.Your Assembly
{steps: …}parameter is empty. ASSEMBLY_EXECUTION_PROGRESS_NOT_ENABLED-
Response key:
error. HTTP status:400.For this Assembly, retrieving execution progress has not been enabled.
ASSEMBLY_EXPIRED-
Response key:
error. HTTP status:410.The Assembly expired.
ASSEMBLY_FILE_NOT_RESERVED-
Response key:
error. HTTP status:400.A place for this file must be reserved before adding it.
ASSEMBLY_INFINITE-
Response key:
error. HTTP status:400.Your Assembly appears to be infinite, the "use" parameters form a loop.
ASSEMBLY_INVALID_NOTIFY_URL-
Response key:
error. HTTP status:400.The Assembly had a malformed notify_url. It must be a valid http or https URL.
ASSEMBLY_INVALID_NUM_EXPECTED_UPLOAD_FILES_PARAM-
Response key:
error. HTTP status:400.Your 'num_expected_upload_files' parameter value is invalid. It must be a nonnegative integer.
ASSEMBLY_INVALID_STEPS-
Response key:
error. HTTP status:400.Your Assembly
{steps: …}is a non-object value. ASSEMBLY_JOB_ENQUEUE_ERROR-
Response key:
error. HTTP status:400.There was a problem enqueuing a job for your Assembly. Please reach out to support.
ASSEMBLY_LIST_ERROR-
Response key:
error. HTTP status:400.Bad parameters.
ASSEMBLY_MEMORY_LIMIT_EXCEEDED-
Response key:
error. HTTP status:400.The Assembly memory limit of 8MB was exceeded. Please try to import less files and/or upload a zip file with less files.
ASSEMBLY_NOTIFICATIONS_LISTED-
Response key:
ok. HTTP status:200.The Assembly notifications were successfully listed.
ASSEMBLY_NOTIFICATIONS_LIST_ERROR-
Response key:
error. HTTP status:400.The Assembly notifications could not be listed.
ASSEMBLY_NOTIFICATION_LIST_ERROR-
Response key:
error. HTTP status:400.Bad parameters.
ASSEMBLY_NOTIFICATION_NOT_PERSISTED-
Response key:
error. HTTP status:400.There was a problem saving the Assembly notification. Please get in touch with support.
ASSEMBLY_NOTIFICATION_NOT_REPLAYED-
Response key:
error. HTTP status:400.The Assembly notification could not be replayed.
ASSEMBLY_NOTIFICATION_REPLAYING-
Response key:
ok. HTTP status:200.The Assembly notification is being replayed.
ASSEMBLY_NOT_CAPABLE-
Response key:
error. HTTP status:400.This Assembly is not capable of handling the requested endpoint.
ASSEMBLY_NOT_FINISHED-
Response key:
error. HTTP status:400.The Assembly is not finished yet and thus cannot be replayed yet.
ASSEMBLY_NOT_FOUND-
Response key:
error. HTTP status:404.The Assembly you requested crashed or does not exist.
ASSEMBLY_NOT_REPLAYED-
Response key:
error. HTTP status:400.The Assembly could not be replayed.
ASSEMBLY_NO_CHARGEABLE_STEP-
Response key:
error. HTTP status:400.An Assembly must have at least one transcoding or Step.
ASSEMBLY_NO_NOTIFY_URL-
Response key:
error. HTTP status:404.The Assembly had not configured any notify_url.
ASSEMBLY_NO_STEPS-
Response key:
error. HTTP status:400.Your Assembly does not include a
{steps: …}parameter. ASSEMBLY_PLAN_FILE_SIZE_LIMIT_EXCEEDED-
Response key:
error. HTTP status:400.Your plan's file size limit was exceeded. No single file may exceed the limit.
ASSEMBLY_ROBOT_MISSING-
Response key:
error. HTTP status:400.This Assembly must make use of specific robots as per the contract.
ASSEMBLY_SATURATED-
Response key:
error. HTTP status:400.This Assembly has already received all expected file uploads.
ASSEMBLY_STATS_ERROR-
Response key:
error. HTTP status:500.Could not load Assembly statistics.
ASSEMBLY_STATS_FOUND-
Response key:
ok. HTTP status:200.The requested Assembly statistics were successfully found.
ASSEMBLY_STATS_INVALID_TIME-
Response key:
error. HTTP status:400.sincetime is missing or incorrect. ASSEMBLY_STATS_MISSING_REGION-
Response key:
error. HTTP status:400.Must provide a specific
region, or "all". ASSEMBLY_STATUS_FETCHING_RATE_LIMIT_REACHED-
Response key:
error. HTTP status:429.You are fetching status for the same Assembly too often. Please slow down.
ASSEMBLY_STATUS_NOT_FOUND-
Response key:
error. HTTP status:404.The status for the Assembly you requested could not be found.
ASSEMBLY_STATUS_PARSE_ERROR-
Response key:
error. HTTP status:404.There was a problem parsing the status json of the Assembly.
ASSEMBLY_STEP_INVALID-
Response key:
error. HTTP status:400.One of your
{steps: …}parameters is a non-object value. ASSEMBLY_STEP_INVALID_ROBOT-
Response key:
error. HTTP status:400.One of your step parameters includes a non-string
{robot: …}value. ASSEMBLY_STEP_INVALID_USE-
Response key:
error. HTTP status:400.A Step has an invalid
usevalue or a malformedstepsorfieldsselection. Validuseforms include a Step-name string, an array of Step references, or an object withstepsand optionalfields. Object-formstepsaccepts a string or an array of strings or objects containingnameand an optional stringas. Thefieldsselection accepts a string or an array of strings. ASSEMBLY_STEP_NO_ROBOT-
Response key:
error. HTTP status:400.One of your step parameters did not include a
{robot: …}key. ASSEMBLY_STEP_UNKNOWN_ROBOT-
Response key:
error. HTTP status:400.One of your step parameters is referencing an unknown
{robot: …}. ASSEMBLY_STEP_UNKNOWN_USE-
Response key:
error. HTTP status:400.One of your step parameters references an unknown
{use: …}value. ASSEMBLY_URL_TRANSFORM_MISSING-
Response key:
error. HTTP status:400.This Assembly must use the UrlTransform feature as per the contract.
AUTH_EXPIRED-
Response key:
error. HTTP status:400.The given auth expires parameter is in the past.
AUTH_KEYS_FOUND-
Response key:
ok. HTTP status:200.Your auth keys were successfully found.
AUTH_KEYS_NOT_FOUND-
Response key:
error. HTTP status:400.Your auth keys could not be found.
AUTH_KEY_CREATED-
Response key:
ok. HTTP status:200.Your Auth Key was successfully created.
AUTH_KEY_DELETED-
Response key:
ok. HTTP status:200.Your Auth Key was successfully deleted.
AUTH_KEY_NOT_CREATED-
Response key:
error. HTTP status:400.Your Auth Key could not be created.
AUTH_KEY_NOT_DELETED-
Response key:
error. HTTP status:400.Your Auth Key could not be deleted.
AUTH_KEY_NOT_UPDATED-
Response key:
error. HTTP status:400.Your Auth Key could not be updated.
AUTH_KEY_SCOPES_FOUND-
Response key:
ok. HTTP status:200.The Auth Key scopes were successfully found.
AUTH_KEY_SCOPES_NOT_FOUND-
Response key:
error. HTTP status:400.The Auth Key scopes could not be found.
AUTH_KEY_UPDATED-
Response key:
ok. HTTP status:200.Your Auth Key was successfully updated.
AUTH_SECRET_NOT_RETRIEVED-
Response key:
error. HTTP status:400.Your auth secret could not be shown.
AUTH_SECRET_RETRIEVED-
Response key:
ok. HTTP status:200.Your auth secret could be retrieved.
BAD_PRICING-
Response key:
error. HTTP status:400.Something is wrong with the pricing record attached to your workspace, please contact support.
BEARER_TOKEN_AUTH_KEY_MISMATCH-
Response key:
error. HTTP status:403.Bearer token auth key mismatch.
BEARER_TOKEN_EXPIRED-
Response key:
error. HTTP status:401.Bearer token expired.
BEARER_TOKEN_INVALID-
Response key:
error. HTTP status:401.Invalid bearer token.
BILL_FOUND-
Response key:
ok. HTTP status:200.The requested bill was successfully found.
BILL_LIMIT_EXCEEDED-
Response key:
error. HTTP status:403.The bill limit that was configured for this workspace is exceeded this month.
BILL_NOT_FOUND-
Response key:
error. HTTP status:200.The requested bill could not be found.
CANNOT_ACCEPT_NEW_ASSEMBLIES-
Response key:
error. HTTP status:400.The uploader is not accepting new Assemblies.
CDN_REQUIRED-
Response key:
error. HTTP status:400.We recommend URL Transform is only used in combination with a CDN to cache results. Otherwise each hit is transcoded which may ramp up bills fast for popular pages. That’s why you should (have your CDN) set the query parameter or header key
cdnwith the valuerequired. DAM_ASSETS_DELETED-
Response key:
ok. HTTP status:200.The DAM assets were successfully deleted.
DAM_ASSETS_LISTED-
Response key:
ok. HTTP status:200.The Storage assets were successfully listed.
DAM_ASSETS_MOVED-
Response key:
ok. HTTP status:200.The DAM assets were successfully moved.
DAM_ASSET_DELETED-
Response key:
ok. HTTP status:200.The DAM asset was successfully deleted.
DAM_ASSET_FOUND-
Response key:
ok. HTTP status:200.The Storage asset was successfully found.
DAM_ASSET_MOVED-
Response key:
ok. HTTP status:200.The DAM asset was successfully moved.
DAM_ENTRY_MOVED-
Response key:
ok. HTTP status:200.The Storage file or folder was successfully moved.
DAM_INVALID_REQUEST-
Response key:
error. HTTP status:400.The Storage request parameters are invalid.
DAM_MUTATION_CONFLICT-
Response key:
error. HTTP status:409.The DAM mutation conflicts with an existing resource.
DAM_MUTATION_FAILED-
Response key:
error. HTTP status:500.The DAM mutation could not be completed. Please try again.
DAM_RESOURCE_NOT_FOUND-
Response key:
error. HTTP status:404.The requested DAM resource was not found.
DAM_STORAGE_UNAVAILABLE-
Response key:
error. HTTP status:503.Storage authorization is temporarily unavailable. Please retry.
DO_NOT_REUSE_ASSEMBLY_IDS-
Response key:
error. HTTP status:400.Do not reuse Assembly IDs.
FILE_DOWNLOAD_ERROR-
Response key:
error. HTTP status:400.Transloadit was unable to download an external file.
FILE_META_DATA_ERROR-
Response key:
error. HTTP status:500.There was a problem extracting meta data information from your file.
FILE_SERVE_NO_RESULT-
Response key:
error. HTTP status:404.The /file/serve Step has no result to serve. Possibly your Instructions do not support the input file type.
GET_ACCOUNT_DB_ERROR-
Response key:
error. HTTP status:500.Could not get workspace, there was a database error.
GET_ACCOUNT_UNKNOWN_AUTH_KEY-
Response key:
error. HTTP status:400.Could not get workspace, this is an unknown Auth Key.
IMPORT_FILE_ERROR-
Response key:
error. HTTP status:400.Transloadit was unable to import a file.
INCOMPLETE_PRICING-
Response key:
error. HTTP status:400.Something is wrong with the pricing record attached to your workspace, please contact support.
INSUFFICIENT_AUTH_SCOPE-
Response key:
error. HTTP status:403.The Auth Key you used for the operation does not have the required scope.
INTERNAL_COMMAND_ERROR-
Response key:
error. HTTP status:500.One of our commands reported an error.
INTERNAL_COMMAND_TIMEOUT-
Response key:
error. HTTP status:500.One of our commands timed out.
INVALID_ASSEMBLY_STATUS-
Response key:
error. HTTP status:400.This is an invalid Assembly status.
INVALID_AUTH_EXPIRES_PARAMETER-
Response key:
error. HTTP status:400.Invalid auth expires parameter provided - we could not parse it.
INVALID_AUTH_KEY_PARAMETER-
Response key:
error. HTTP status:400.Invalid Auth Key parameter provided - the value is not a string.
INVALID_AUTH_MAX_NUMBER_OF_FILES_PARAMETER-
Response key:
error. HTTP status:400.Invalid auth max_number_of_files parameter provided.
INVALID_AUTH_MAX_SIZE_PARAMETER-
Response key:
error. HTTP status:400.Invalid
auth.max_sizeparameter provided; the value must be a number. INVALID_AUTH_REFERER_PARAMETER-
Response key:
error. HTTP status:400.Invalid auth referer parameter given, could not parse it.
INVALID_FILE_META_DATA-
Response key:
error. HTTP status:400.We could not parse the meta data for the file
{filename}. INVALID_FORM_DATA-
Response key:
error. HTTP status:400.The form contained bad data, which cannot be parsed.
INVALID_INPUT_ERROR-
Response key:
error. HTTP status:400.The files could not be processed, the provided file format is not supported by this Robot.
INVALID_PARAMS_FIELD-
Response key:
error. HTTP status:400.Bad params field provided, it contains invalid json.
INVALID_SIGNATURE-
Response key:
error. HTTP status:400.The given signature does not match ours. Check that you used the algorithm configured in your Auth Key’s
signature_algo. INVALID_STEP_NAME-
Response key:
error. HTTP status:400.You must not name a step ":original" that is not using the /upload/handle Robot. This will lead to bad job spawning like duped jobs or infinite Assemblies.
INVALID_TEMPLATE_FIELD-
Response key:
error. HTTP status:400.Bad Template field provided, it contains invalid json.
INVALID_UPLOAD_HANDLE_STEP_NAME-
Response key:
error. HTTP status:400.When using the /upload/handle robot, its step name must be ":original".
INVALID_URL_ENCODING-
Response key:
error. HTTP status:400.The request URL contains invalid percent-encoding.
MAX_NUMBER_OF_FILES_EXCEEDED-
Response key:
error. HTTP status:400.The number of input files exceeded the allowed limit.
MAX_SIZE_EXCEEDED-
Response key:
error. HTTP status:400.The uploaded file exceeded the file size limit.
NO_AUTH_EXPIRES_PARAMETER-
Response key:
error. HTTP status:400.No auth expires parameter was provided.
NO_AUTH_KEY_PARAMETER-
Response key:
error. HTTP status:400.No Auth Key parameter provided.
NO_AUTH_PARAMETER-
Response key:
error. HTTP status:400.No auth parameter provided.
NO_COUNTRY-
Response key:
error. HTTP status:400.Your workspace has no country record attached to it, please contact support or update your workspace information.
NO_OBJECT_AUTH_PARAMETER-
Response key:
error. HTTP status:400.Bad auth parameter provided, it is not an object.
NO_OBJECT_PARAMS_FIELD-
Response key:
error. HTTP status:400.Bad params field provided, it is not an object.
NO_PARAMS_FIELD-
Response key:
error. HTTP status:400.No params field provided.
NO_PRICING-
Response key:
error. HTTP status:400.Your workspace has no pricing record attached to it, please contact support.
NO_RESULT_STEP_FOUND-
Response key:
error. HTTP status:400.Invalid or no result Step defined, which is mandatory for URL Transform Assemblies.
NO_RPC_RESULT_FROM_IMAGE_RESIZER-
Response key:
error. HTTP status:500.No rpc result from image-resizer.
NO_SIGNATURE_FIELD-
Response key:
error. HTTP status:400.No signature field was provided.
NO_TEMPLATE_ID-
Response key:
error. HTTP status:400.This workspace demands that a Template ID is provided. None was provided, though.
PLAN_LIMIT_EXCEEDED-
Response key:
error. HTTP status:403.You have exceeded the usage limit of your Transloadit plan. Please upgrade your plan to make this error message go away, or get in touch with support.
POSSIBLY_MALICIOUS_FILE_FOUND-
Response key:
error. HTTP status:500.One of your files is possibly malicious and cannot be processed.
PRIORITY_JOB_SLOTS_FOUND-
Response key:
ok. HTTP status:200.Your priority job slots were successfully found.
PRIORITY_JOB_SLOTS_NOT_FOUND-
Response key:
error. HTTP status:400.Your priority job slots could not be found.
PRIORITY_JOB_SLOT_STATS_ERROR-
Response key:
error. HTTP status:500.Could not load Priority Job Slot statistics.
PRIORITY_JOB_SLOT_STATS_FOUND-
Response key:
ok. HTTP status:200.The requested Priority Job Slot statistics were successfully found.
PRIORITY_JOB_SLOT_STATS_INVALID_AGGREGATION-
Response key:
error. HTTP status:400.aggregationmust be either "avg" or "max". PRIORITY_JOB_SLOT_STATS_INVALID_TIME-
Response key:
error. HTTP status:400.sincetime is missing or incorrect. PRIORITY_JOB_SLOT_STATS_MISSING_REGION-
Response key:
error. HTTP status:400.Must provide a specific
region, or "all". RATE_LIMIT_REACHED-
Response key:
error. HTTP status:429.Request limit reached.
REFERER_MISMATCH-
Response key:
error. HTTP status:400.The supplied HTTP Referer header does not match the configured
auth.refererexpression. Requests without this header pass the check; it does not prove the upload origin. REQUEST_PREMATURE_CLOSED-
Response key:
error. HTTP status:400.The original request was closed prematurely.
ROBOT_VALIDATION_BASE_ERROR-
Response key:
error. HTTP status:400.A Robot parameter failed validation. Check the error message and the Step’s parameters.
SERVER_401-
Response key:
error. HTTP status:401.Authorization required.
SERVER_403-
Response key:
error. HTTP status:403.Forbidden.
SERVER_404-
Response key:
error. HTTP status:404.Unknown method / url.
SERVER_500-
Response key:
error. HTTP status:500.Unexpected error.
SIGNATURE_REUSE_DETECTED-
Response key:
error. HTTP status:400.The request was denied for security reasons. If you think this is in error, please get in touch with support.
STORAGE_GRANT_NOT_CREATED-
Response key:
error. HTTP status:400.Your storage grant could not be created.
TEMPLATE_CREATED-
Response key:
ok. HTTP status:200.Your Template was successfully created.
TEMPLATE_CREDENTIALS_CREATED-
Response key:
ok. HTTP status:200.Your Template Credentials were successfully created.
TEMPLATE_CREDENTIALS_DELETED-
Response key:
ok. HTTP status:200.Your Template Credentials were successfully deleted.
TEMPLATE_CREDENTIALS_FOUND-
Response key:
ok. HTTP status:200.Your Template Credentials were successfully found.
TEMPLATE_CREDENTIALS_INJECTION_ERROR-
Response key:
error. HTTP status:400.Your Template Credentials could not be injected.
TEMPLATE_CREDENTIALS_NOT_CREATED-
Response key:
error. HTTP status:400.Your Template Credentials could not be created.
TEMPLATE_CREDENTIALS_NOT_DELETED-
Response key:
error. HTTP status:400.Your Template Credentials could not be deleted.
TEMPLATE_CREDENTIALS_NOT_FOUND-
Response key:
error. HTTP status:400.Your Template Credentials could not be found.
TEMPLATE_CREDENTIALS_NOT_READ-
Response key:
error. HTTP status:400.Your Template Credentials could not be read.
TEMPLATE_CREDENTIALS_NOT_UPDATED-
Response key:
error. HTTP status:400.Your Template Credentials could not be updated.
TEMPLATE_CREDENTIALS_READ-
Response key:
ok. HTTP status:200.Your Template Credentials were successfully read.
TEMPLATE_CREDENTIALS_TYPES_FOUND-
Response key:
ok. HTTP status:200.The Template Credentials types were successfully found.
TEMPLATE_CREDENTIALS_UPDATED-
Response key:
ok. HTTP status:200.Your Template Credentials were successfully updated.
TEMPLATE_DB_ERROR-
Response key:
error. HTTP status:500.The Template for this request could not be fetched due to a db error.
TEMPLATE_DELETED-
Response key:
ok. HTTP status:200.Your Template was successfully deleted.
TEMPLATE_DENIES_STEPS_OVERRIDE-
Response key:
error. HTTP status:400.This Template had the
allow_steps_overrideoption set tofalse, so clients are not allowed to tamper with its steps. TEMPLATE_FOUND-
Response key:
ok. HTTP status:200.Your Template was successfully found.
TEMPLATE_INVALID_JSON-
Response key:
error. HTTP status:400.Your Template contained invalid JSON.
TEMPLATE_LIST_ERROR-
Response key:
error. HTTP status:400.Bad parameters.
TEMPLATE_NOT_FOUND-
Response key:
error. HTTP status:400.There was no Template found for the given template_id and workspace.
TEMPLATE_UPDATED-
Response key:
ok. HTTP status:200.Your Template was successfully updated.
TEMPLATE_VALIDATION_ERROR-
Response key:
error. HTTP status:400.Your Template didn’t pass validation.
TMP_FILE_DOWNLOAD_ERROR-
Response key:
error. HTTP status:400.Transloadit was unable to download a file from our temporary location.
TOKEN_INVALID_AUDIENCE-
Response key:
error. HTTP status:403.Invalid audience.
TOKEN_INVALID_CREDENTIALS-
Response key:
error. HTTP status:401.Invalid client credentials.
TOKEN_INVALID_GRANT_TYPE-
Response key:
error. HTTP status:400.Invalid grant type.
TOKEN_INVALID_REQUEST-
Response key:
error. HTTP status:400.Invalid token request.
TOKEN_INVALID_SCOPE-
Response key:
error. HTTP status:403.Invalid or unauthorized scope.
TRANSIENT_STORAGE_SERVICE_ERROR-
Response key:
error. HTTP status:503.A temporary storage service error prevented this operation. Please try again.
USER_COMMAND_ERROR-
Response key:
error. HTTP status:500.An invalid file or setting caused a command to fail.
VERIFIED_EMAIL_REQUIRED-
Response key:
error. HTTP status:403.You need to first verify your email address before you can do this.
WORKER_JOB_ERROR-
Response key:
error. HTTP status:400.Transloadit was unable to process this Assembly.