API Documentation
The RushTranslate API lets you submit, track, and manage translation orders, making it easy to integrate translation services into your application. This guide covers everything you need to get started.
Introduction
The RushTranslate API provides a seamless way to integrate professional document translation services into your applications. Whether you're managing document translations at scale or need certified translations with notarization, our API allows you to automate the entire workflow—from submitting files to retrieving completed translations and managing revisions.
This guide will walk you through the core API functionality, including how to create orders, upload and manage files, approve notarized documents, and track the progress of your translations in real time. With webhook notifications, you can stay updated on order status changes without the need for constant polling. Authentication is handled via secure personal access tokens, ensuring that your data remains protected.
You'll also find details on request formats, authentication methods, response structures, error handling, and rate limits to help you implement the API efficiently. Our sandbox environment allows for testing before deploying in production, ensuring a smooth integration process. Let's get started!
Workflow
To create an order, start by uploading files using individual POST requests to the files endpoint. The API will return an ID for each file, which you'll include in a POST request to the orders endpoint to associate them with the order.
Once the order is created, our team will review the files and any notes provided before assigning a translator. The order status will then update to in progress. If notarization is required, you'll need to approve it before finalization via the approval endpoint.
Webhooks allow you to receive real-time notifications when your order status changes, eliminating the need for polling. Files are securely stored on Amazon S3 with no public access and can be downloaded using a temporary signed URL that expires after five minutes.
If you need to request a revision, an endpoint is available for that as well. Reference files for revisions follow the same upload process as when placing an order.
Authentication
The API uses shared secret authentication, requiring your personal access token to be included in the HTTP Authorization header with the type set to Bearer. You can manage your tokens from your account settings page once enabled on your profile by our team. Since personal access tokens provide full read/write access to your account, handle them like passwords and keep them secure.
curl https://rushtranslate.com/api/v1/... \
-H "Authorization: Bearer <token>" \
-H "Accept: application/json"
URLs
We provide two environments: a sandbox for testing and a production environment for live applications. All endpoints use the following base URLs:
Sandbox URL
https://sandbox.rushtranslate.com/api/v1
Production URL
https://rushtranslate.com/api/v1
Requests
When making requests, parameters should be sent as JSON with the Content-Type: application/json header. The only exception is POST requests to the files endpoint, which require form data with the Content-Type: multipart/form-data header.
Certain fields, including order notes, comment body, and revision body, support basic HTML tags: b, br, em, li, ol, p, s, u, and ul. Any other tags or attributes will be stripped.
This API implements the following HTTP verbs:
GET- read resourcesPOST- create new resourcesPATCH- modify existing resourcesDELETE- remove resources
Responses
All endpoints return JSON with the Content-Type: application/json header.
Status Codes
Standard HTTP response codes indicate the outcome of requests, including successful responses, client errors, and server errors.
| Code | Name | Description |
|---|---|---|
200 |
OK | Request was successful, and the response contains data |
201 |
Created | Resource was successfully created |
204 |
No Content | Request was successful, but there is no response body |
400 |
Bad Request | The request was malformed or could not be understood |
401 |
Unauthorized | API token is missing or invalid |
403 |
Forbidden | API token is valid, but access is denied |
404 |
Not Found | The requested resource does not exist |
413 |
Entity Too Large | The request exceeds the allowed size limit |
422 |
Unprocessable Entity | Validation failed. The response includes error details |
429 |
Too Many Requests | The request rate limit has been exceeded |
500 |
Internal Server Error | The server encountered an unexpected error |
503 |
Service Unavailable | The server is temporarily unable to process the request |
Error Messages
Status codes other than 204 will return a response object with additional details in the message key. If validation fails, the API will return a 422 status and include an errors object, where field names serve as keys and error messages are provided as arrays. Nested fields use dot notation, as shown in the example.
{
"message": "The given data was invalid.",
"errors": {
"services.source_language": [
"The source language field is required."
],
"services.target_language": [
"The target language field is required."
]
}
}
Rate Limiting
Requests are limited to 60 per minute. If the throttle limit is exceeded, a 429 status code will be returned. All responses include headers with your rate limit details.
| Name | Description |
|---|---|
X-RateLimit-Limit |
Total number of requests allowed per minute. |
X-RateLimit-Remaining |
Number of requests remaining in the current minute. |
Retry-After |
Seconds to wait before the rate limit resets after being exceeded. |
Pagination
Requests returning multiple results are paginated with a default of 60 items. You can override the per_page value, up to a maximum of 500 items. The response includes links and meta objects containing pagination details.
{
"data": [...],
"links": {
"first": "https://rushtranslate.com/api/v1/orders?page=1",
"last": "https://rushtranslate.com/api/v1/orders?page=3",
"prev": "https://rushtranslate.com/api/v1/orders?page=1",
"next": "https://rushtranslate.com/api/v1/orders?page=3"
},
"meta": {
"current_page": 2,
"from": 61,
"last_page": 3,
"path": "https://rushtranslate.com/api/v1/orders",
"per_page": 60,
"to": 120
}
}
Webhooks
If you specify a callback URL when placing an order via our API, we will send an HTTP POST request to that URL to notify you of status changes. This request will include JSON in the body.
{
"id": 3290541,
"number": "12543-5465123",
"status": "completed",
"updated_at": "2026-03-01T22:00:26Z"
}
The following statuses will trigger a notification, along with their descriptions:
in_progress- Order has been assigned to a translator.client_review- Order requires your approval before finalization.completed- All files have been finalized and are ready for retrieval.cancelled- Order has been cancelled, and any translation work has stopped.
We listen for the following status codes when making a POST request:
200- Request was successful; no retries will be made.406- Request was not accepted; no retries will be made.- For any other status code, we will retry the
POSTrequest with the following delays: 15 minutes, 1 hour, 4 hours, 8 hours, and 24 hours.
Sandbox
We provide a sandbox environment for testing your integration. Contact us for help with account approval, setup, and generating a personal access token. The sandbox mirrors the standard lifecycle of quotes, orders, and revisions in our system, automatically advancing each entity to the next status every two minutes. When an order moves out of in_progress, a single PDF file is attached with a translation type to simulate a completed translation.
-
Quotes follow this status flow:
requested→pending. Use the convert endpoint to turn a quote into an order. -
Orders with notarization follow this status flow:
received→in_progress→client_review→approved→completed. After reachingclient_review, the order pauses until you approve it via the order approval endpoint. Once approved, automatic transitions resume. -
Orders without notarization follow this status flow:
received→in_progress→completed. -
Revisions follow this status flow:
requested→in_progress→completed.
Languages
The API provides a list of supported languages, including their ISO 639 codes and availability status. These language codes are required when placing orders to specify source and target languages.
Language Object
| Field | Type | Description |
|---|---|---|
code |
String | ISO 639 language code |
name |
String | Language name |
active |
Boolean | Whether or not the language is currently active |
List Languages
Retrieve the list of supported languages. The response includes language codes, which are required when placing orders via the API. Returns an array of Language Objects.
Request
GET https://rushtranslate.com/api/v1/languages
Response - 200
[
{
"code": "ar",
"name": "Arabic",
"active": true
},
{
"code": "bg",
"name": "Bulgarian",
"active": true
},
...
]
Files
The API allows you to upload, manage, and retrieve files associated with translation orders. Files can be categorized as source files for translation, reference materials, completed translations, or revisions. This section covers how to create, list, retrieve, download, and delete files, including details on file storage and access via temporary signed URLs.
File Object
| Field | Type | Description |
|---|---|---|
id |
Number | File identifier |
name |
String | Name |
type |
String | Type of file - source, reference, translation or revision |
size |
Number | File size in bytes |
download_url |
String | Location for file download |
created_at |
String | Time and date when the file was created (UTC) |
List Files
Retrieve a paginated list of files. The response includes a paginated array of File Objects.
Request
GET https://rushtranslate.com/api/v1/files
Request Parameters
| Field | Type | Required | Description |
|---|---|---|---|
created_from |
String | N | Filter by created date, returning only those that were created on or after the specified date |
created_to |
String | N | Filter by created date, returning only those that were created on or before the specified date |
extension |
String | N | Filter by file extension; docx, pdf, xlsx, etc... |
is_archived |
Boolean | N | Filter by archived status. Default is false |
order |
Number | N | Filter by order ID |
quote |
Number | N | Filter by quote ID |
search |
String | N | Search by filename |
sort |
String | N | Comma separated list of sort options; created_at, extension, filename, size, type, and updated_at. Prepend `-` for descending order. |
type |
String | N | Comma separated list of file type options; source, reference, translation, or revision. |
Response - 200
{
"data": [
{
"id": 2304778,
"name": "School Documents.jpg",
"type": "source",
"size": 39099,
"download_url": "https://rushtranslate.com/api/v1/...",
"created_at": "2026-02-17T15:51:11Z"
},
...
],
"links": {...},
"meta": {...}
}
Create a File
Upload a new file using a form data request with the Content-Type: multipart/form-data header. File uploads are limited to 100MB, and each file can be attached to only one resource after creation. Returns a File Object.
File types
source- files to be translated, if possible combine multi-page documents into a single file prior to uploadreference- reference files to assist the translator if being associated with an order resource or marked up files to be associated with a revision resource
Request
POST https://rushtranslate.com/api/v1/files
file: <binary file>
type: source
Request Parameters
| Field | Type | Required | Description |
|---|---|---|---|
file |
Object | Y | File to be uploaded |
type |
String | Y | Type of file - source or reference |
Response - 201
{
"id": 2304778,
"name": "School Documents.jpg",
"type": "source",
"size": 39099,
"download_url": "https://rushtranslate.com/api/v1/...",
"created_at": "2026-02-17T15:51:11Z"
}
Retrieve a File
Retrieve detailed information about a specific file. Returns a File Object.
Request
GET https://rushtranslate.com/api/v1/files/:file_id
Response - 200
{
"id": 2304778,
"name": "School Documents.jpg",
"type": "source",
"size": 39099,
"download_url": "https://rushtranslate.com/api/v1/...",
"created_at": "2026-02-17T15:51:11Z"
}
Download a File
Generate a temporary download URL for a file. Files are encrypted and stored in an Amazon S3 bucket. This request returns a signed URL that provides secure access to download the file. URLs expire after five minutes.
Request
GET https://rushtranslate.com/api/v1/files/:file_id/download
Response - 200
{
"url": "https://rushtranslate-s3.amazonaws.com/files/..."
}
Response Attributes
| Field | Type | Description |
|---|---|---|
url |
String | Temporary download URL |
Delete a File
Files can only be deleted if they have not been associated with a quote or order. To delete other files, please contact our support team.
Request
DELETE https://rushtranslate.com/api/v1/files/:file_id
Response - 204
No Content
Quotes
Quotes let you collect project details, review pricing, and confirm work before creating an order. This section shows how to request quotes, list and filter existing ones, retrieve full details, convert them to orders, and remove quotes you no longer need.
Quote Object
Some fields are not available until a newly requested quote has been prepared and its status moves out of requested.
| Field | Type | Description |
|---|---|---|
id |
Number | Quote identifier |
number |
String | Quote number |
url |
String | Quote URL for web app |
reference |
String | Customer-supplied internal reference (number, ID, etc.) |
field1 |
String | Client-supplied data for use in custom coversheets for white label services |
field2 |
String | Client-supplied data for use in custom coversheets for white label services |
source |
String | Source of the quote - api or website |
status |
String | Current quote status - requested, pending, converted, or on_hold |
source_language |
String | ISO 639 source language code |
target_language |
String | ISO 639 target language code |
total |
Number | Quote total in cents (USD) – Not available while status is requested |
memo |
String | Quote memo from RushTranslate |
requested_at |
String | Time and date when the quote was requested (UTC) |
converted_at |
String | Time and date when the quote was converted to an order (UTC) |
cancelled_at |
String | Time and date when the quote was cancelled (UTC) |
services |
Array | List of Service Objects |
files |
Array | List of File Objects |
comments |
Array | List of Comment Objects |
List Quotes
Retrieve a paginated list of your quotes. The response includes a paginated array of Quote Objects.
Request
GET https://rushtranslate.com/api/v1/quotes
Request Parameters
| Field | Type | Required | Description |
|---|---|---|---|
requested_from |
String | N | Filter by requested date, returning only those that were requested on or after the specified date |
requested_to |
String | N | Filter by requested date, returning only those that were requested on or before the specified date |
converted_from |
String | N | Filter by converted date, returning only those that were converted on or after the specified date |
converted_to |
String | N | Filter by converted date, returning only those that were converted on or before the specified date |
search |
String | N | Search by filename or customer reference |
status |
String | N | Comma separated list of statuses; requested, pending, converted, or on_hold |
sort |
String | N | Comma separated list of sort options; requested_at, converted_at, status, and updated_at. Prepend `-` for descending order. |
source_language |
String | N | Filter by source language ISO 639 language code |
target_language |
String | N | Filter by target language ISO 639 language code |
Response - 200
{
"data": [
{
"id": 1214336,
"number": "662-64270764",
"url": "https://rushtranslate.com/quote/662-64270764/mC18ihWVx...",
"order_id": 3290112,
"reference": null,
"field1": "Lena Hartman",
"field2": "Feb 1, 2026",
"source": "api",
"status": "converted",
"source_language": "es",
"target_language": "en",
"total": 11270,
"memo": null,
"requested_at": "2026-02-17T15:52:13Z",
"converted_at": "2026-02-18T14:04:50Z",
"cancelled_at": null
},
...
],
"links": {...},
"meta": {...}
}
Request a Quote
Request a new quote. Files must be uploaded first, as their IDs will be included in the files array of this request. The quote total and service quantity, price, discount, and total properties will not exist until the quote has been prepared and status updated to pending. Returns an Quote Object.
Request
POST https://rushtranslate.com/api/v1/quotes
{
"reference": null,
"field1": "Lena Hartman",
"field2": "Feb 1, 2026",
"callback_url": "https://domain.com/webhooks",
"notes": "<p>Please spell the last name Hartman.</p>",
"services": {
"source_language": "es",
"target_language": "en",
"certification": true,
"expedited": true,
"notarization": true,
"currency_conversion": false
},
"files": [
2304778
]
}
Request Parameters
| Field | Type | Required | Description |
|---|---|---|---|
reference |
String | N | Your internal reference (number, ID, etc.) |
field1 |
String | N | Data for use in custom coversheets for white label services |
field2 |
String | N | Data for use in custom coversheets for white label services |
callback_url |
String | N | Callback URL for webhooks |
notes |
String | N | Notes for staff or translators - basic HTML allowed |
services |
Object | Y | Specify the services you'd like to order |
services.source_language |
String | Y | ISO 639 language code |
services.target_language |
String | Y | ISO 639 language code |
services.certification |
Boolean | N | If you would like certified translation service otherwise standard translation provided. - Default is false |
services.expedited |
Boolean | N | If you would like expedited turnaround service. - Default is false |
services.notarization |
Boolean | N | If you would like the certification notarized - only available with certified translation. - Default is false |
services.currency_conversion |
Boolean | N | If you would like currency conversion - only available with certified translation. - Default is false |
files |
Array | Y | List of file IDs - type must be either source or reference |
Response - 201
{
"id": 1214336,
"number": "662-64270764",
"url": "https://rushtranslate.com/quote/662-64270764/mC18ihWVx...",
"order_id": null,
"reference": null,
"field1": "Lena Hartman",
"field2": "Feb 1, 2026",
"source": "api",
"status": "requested",
"source_language": "es",
"target_language": "en",
"memo": null,
"requested_at": "2026-02-17T15:52:13Z",
"converted_at": null,
"cancelled_at": null,
"services": [
{
"name": "Certified Translation",
"description": null,
},
{
"name": "Expedited Turnaround",
"description": null,
},
{
"name": "Notarization",
"description": null,
}
],
"files": [
{
"id": 2304778,
"name": "School Documents.jpg",
"type": "source",
"size": 39099,
"download_url": "https://rushtranslate.com/api/v1/...",
"created_at": "2026-02-17T15:51:11Z"
}
],
"comments": [
{
"author": "Lena Hartman",
"body": "<p>Please spell last name Hartman.</p>",
"created_at": "2026-02-17T15:52:13Z"
}
]
}
Retrieve a Quote
Retrieve detailed information about a specific quote. Returns a Quote Object.
Request
GET https://rushtranslate.com/api/v1/quotes/:quote_id
Response - 200
{
"id": 1214336,
"number": "662-64270764",
"url": "https://rushtranslate.com/quote/662-64270764/mC18ihWVx...",
"order_id": 3290112,
"reference": null,
"field1": "Lena Hartman",
"field2": "Feb 1, 2026",
"source": "api",
"status": "pending",
"source_language": "es",
"target_language": "en",
"total": 11270,
"memo": null,
"requested_at": "2026-02-17T15:52:13Z",
"converted_at": null,
"cancelled_at": null,
"services": [
{
"name": "Certified Translation",
"description": null,
"quantity": 2,
"price": 2495,
"discount": 0,
"total": 4990
},
{
"name": "Expedited Turnaround",
"description": null,
"quantity": 2,
"price": 1495,
"discount": 0,
"total": 2990
},
{
"name": "Notarization",
"description": null,
"quantity": 1,
"price": 1995,
"discount": 0,
"total": 1995
}
],
"files": [
{
"id": 2304778,
"name": "School Documents.jpg",
"type": "source",
"size": 39099,
"download_url": "https://rushtranslate.com/api/v1/...",
"created_at": "2026-02-17T15:51:11Z"
}
],
"comments": [
{
"author": "Lena Hartman",
"body": "<p>Please spell last name Hartman.</p>",
"created_at": "2026-02-17T15:52:13Z"
}
]
}
Convert a Quote
Convert a quote to an order. The quote total will be added to your next invoice as a new transaction. Returns a Quote Object including the order_id of the newly created order.
Request
POST https://rushtranslate.com/api/v1/quotes/:quote_id/convert
Response - 200
{
"id": 1214336,
"number": "662-64270764",
"url": "https://rushtranslate.com/quote/662-64270764/mC18ihWVx...",
"order_id": 3290112,
"reference": null,
"field1": "Lena Hartman",
"field2": "Feb 1, 2026",
"source": "api",
"status": "converted",
"source_language": "es",
"target_language": "en",
"total": 11270,
"memo": null,
"requested_at": "2026-02-17T15:52:13Z",
"converted_at": "2026-02-18T14:04:50Z",
"cancelled_at": null,
"services": [
{
"name": "Certified Translation",
"description": null,
"quantity": 2,
"price": 2495,
"discount": 0,
"total": 4990
},
{
"name": "Expedited Turnaround",
"description": null,
"quantity": 2,
"price": 1495,
"discount": 0,
"total": 2990
},
{
"name": "Notarization",
"description": null,
"quantity": 1,
"price": 1995,
"discount": 0,
"total": 1995
}
],
"files": [
{
"id": 2304778,
"name": "School Documents.jpg",
"type": "source",
"size": 39099,
"download_url": "https://rushtranslate.com/api/v1/...",
"created_at": "2026-02-17T15:51:11Z"
}
],
"comments": [
{
"author": "Lena Hartman",
"body": "<p>Please spell last name Hartman.</p>",
"created_at": "2026-02-17T15:52:13Z"
}
]
}
Delete a Quote
Delete an existing quote. The associated files will also be deleted.
Request
DELETE https://rushtranslate.com/api/v1/quotes/:quote_id
Response - 204
No Content
Orders
The API allows you to create, manage, and track translation orders efficiently. Orders contain details such as status, language pairs, services, associated files, transactions, and comments. This section covers how to list, retrieve, create, approve, and cancel orders, ensuring seamless integration with your workflow.
Order Object
Some fields are not available until a newly placed order has been reviewed and its status moves out of received.
| Field | Type | Description |
|---|---|---|
id |
Number | Order identifier |
number |
String | Order number |
url |
String | Order URL for web app |
reference |
String | Customer-supplied internal reference (number, ID, etc.) |
field1 |
String | Client-supplied data for use in custom coversheets for white label services |
field2 |
String | Client-supplied data for use in custom coversheets for white label services |
source |
String | Source of the order - api or website |
status |
String | Current order status - received, in_progress, in_review, client_review, approved, finalizing, in_revision, completed, on_hold, or cancelled |
source_language |
String | ISO 639 source language code |
target_language |
String | ISO 639 target language code |
total |
Number | Order total in cents (USD) – Not available while status is received |
received_at |
String | Time and date when the order was placed (UTC) |
review_at |
String | Time and date when the order was available for review by the client (UTC) |
approved_at |
String | Time and date when the order was approved by the client (UTC) |
completed_at |
String | Time and date when the order was completed (UTC) |
cancelled_at |
String | Time and date when the order was cancelled (UTC) |
services |
Array | List of Service Objects |
files |
Array | List of File Objects |
transactions |
Array | List of Transaction Objects – Not available while status is received |
comments |
Array | List of Comment Objects |
revisions |
Array | List of Revision Objects |
List Orders
Retrieve a paginated list of your orders. The response includes a paginated array of Order Objects.
Request
GET https://rushtranslate.com/api/v1/orders
Request Parameters
| Field | Type | Required | Description |
|---|---|---|---|
completed_from |
String | N | Filter by completed date, returning only those that were completed on or after the specified date |
completed_to |
String | N | Filter by completed date, returning only those that were completed on or before the specified date |
created_from |
String | N | Filter by created date, returning only those that were created on or after the specified date |
created_to |
String | N | Filter by created date, returning only those that were created on or before the specified date |
status |
String | N | Comma separated list of statuses; received, in_progress, in_review, client_review, approved, finalizing, in_revision, completed, on_hold, or cancelled |
search |
String | N | Search by filename or customer reference |
sort |
String | N | Comma separated list of sort options; completed_at, created_at, status, and updated_at. Prepend `-` for descending order. |
source_language |
String | N | Filter by source language ISO 639 language code |
target_language |
String | N | Filter by target language ISO 639 language code |
Response - 200
{
"data": [
{
"id": 3290112,
"number": "55112-7859361",
"url": "https://rushtranslate.com/order/55112-7859361/mC18ihWVx...",
"reference": "HN-2632",
"field1": "Alexander M. Montanez",
"field2": "Feb 1, 2026",
"source": "api",
"status": "completed",
"source_language": "es",
"target_language": "en",
"total": 11270,
"received_at": "2026-02-17T15:52:13Z",
"review_at": "2026-02-17T09:15:22Z",
"approved_at": "2026-02-17T11:43:35Z",
"completed_at": "2026-02-17T14:04:50Z",
"cancelled_at": null
},
...
],
"links": {...},
"meta": {...}
}
Place an Order
Place a new order. Files must be uploaded first, as their IDs will be included in the files array of this request. Returns an Order Object.
Request
POST https://rushtranslate.com/api/v1/orders
{
"reference": "HN-2632",
"field1": "Alexander M. Montanez",
"field2": "Feb 1, 2026",
"callback_url": "https://domain.com/webhooks",
"notes": "<p>Please spell the last name Montanez.</p>",
"services": {
"source_language": "es",
"target_language": "en",
"certification": true,
"expedited": true,
"notarization": true,
"currency_conversion": false
},
"files": [
2304778
]
}
Request Parameters
| Field | Type | Required | Description |
|---|---|---|---|
reference |
String | N | Your internal reference (number, ID, etc.) |
field1 |
String | N | Data for use in custom coversheets for white label services |
field2 |
String | N | Data for use in custom coversheets for white label services |
callback_url |
String | N | Callback URL for webhooks |
notes |
String | N | Notes for staff or translators - basic HTML allowed |
services |
Object | Y | Specify the services you'd like to order |
services.source_language |
String | Y | ISO 639 language code |
services.target_language |
String | Y | ISO 639 language code |
services.certification |
Boolean | N | If you would like certified translation service otherwise standard translation provided. - Default is false |
services.expedited |
Boolean | N | If you would like expedited turnaround service. - Default is false |
services.notarization |
Boolean | N | If you would like the certification notarized - only available with certified translation. - Default is false |
services.currency_conversion |
Boolean | N | If you would like currency conversion - only available with certified translation. - Default is false |
files |
Array | Y | List of file IDs - type must be either source or reference |
Response - 201
{
"id": 3290112,
"number": "55112-7859361",
"url": "https://rushtranslate.com/order/55112-7859361/mC18ihWVx...",
"reference": "HN-2632",
"field1": "Alexander M. Montanez",
"field2": "Feb 1, 2026",
"source": "api",
"status": "received",
"source_language": "es",
"target_language": "en",
"received_at": "2026-02-17T15:52:13Z",
"review_at": null,
"approved_at": null,
"completed_at": null,
"cancelled_at": null,
"services": [
{
"name": "Certified Translation",
"description": null,
},
{
"name": "Expedited Turnaround",
"description": null,
},
{
"name": "Notarization",
"description": null,
}
],
"files": [
{
"id": 2304778,
"name": "School Documents.jpg",
"type": "source",
"size": 39099,
"download_url": "https://rushtranslate.com/api/v1/...",
"created_at": "2026-02-17T15:51:11Z"
}
],
"comments": [
{
"author": "John Anderson",
"body": "<p>Please spell last name Montanez.</p>",
"created_at": "2026-02-17T15:52:13Z"
}
]
}
Retrieve an Order
Retrieve detailed information about a specific order. Returns an Order Object.
Request
GET https://rushtranslate.com/api/v1/orders/:order_id
Response - 200
{
"id": 3290112,
"number": "55112-7859361",
"url": "https://rushtranslate.com/order/55112-7859361/mC18ihWVx...",
"reference": "HN-2632",
"field1": "Alexander M. Montanez",
"field2": "Feb 1, 2026",
"source": "api",
"status": "completed",
"source_language": "es",
"target_language": "en",
"total": 11270,
"received_at": "2026-02-17T15:52:13Z",
"review_at": "2026-02-17T09:15:22Z",
"approved_at": "2026-02-17T11:43:35Z",
"completed_at": "2026-02-17T14:04:50Z",
"cancelled_at": null,
"services": [
{
"name": "Certified Translation",
"description": null,
"quantity": 2,
"price": 2495,
"discount": 0,
"total": 4990
},
{
"name": "Expedited Turnaround",
"description": null,
"quantity": 2,
"price": 1495,
"discount": 0,
"total": 2990
},
{
"name": "Notarization",
"description": null,
"quantity": 1,
"price": 1995,
"discount": 0,
"total": 1995
}
],
"files": [
{
"id": 2304778,
"name": "School Documents.jpg",
"type": "source",
"size": 39099,
"download_url": "https://rushtranslate.com/api/v1/...",
"created_at": "2026-02-17T15:51:11Z"
},
{
"id": 2304779,
"name": "School-Documents-55112-7859361.pdf",
"type": "translation",
"size": 20748,
"download_url": "https://rushtranslate.com/api/v1/...",
"created_at": "2026-02-17T13:04:13Z"
}
],
"transactions": [
{
"type": "charge",
"amount": 11270,
"description": "Order Payment",
"payment_instrument": "invoice",
"payment_type": null,
"payment_description": null,
"created_at": "2026-02-17T16:01:26Z"
}
],
"comments": [
{
"author": "John Anderson",
"body": "<p>Please spell last name Montanez.</p>",
"created_at": "2026-02-17T15:52:13Z"
}
],
"revisions": [
{
"id": 61233,
"status": "completed",
"body": "<p>School name is Canterbury School.</p>",
"requested_at": "2026-02-17T12:22:57Z",
"completed_at": "2026-02-17T13:04:13Z",
"files": []
}
]
}
Cancel an Order
Cancel an existing order. Only orders with a status of received can be canceled via the API. For orders with other statuses, please contact support.
Request
POST https://rushtranslate.com/api/v1/orders/:order_id/cancel
Response - 204
No Content
Approve an Order
Approve an order with a status of client_review.
Request
POST https://rushtranslate.com/api/v1/orders/:order_id/approve
Response - 204
No Content
Revisions
Revisions allow you to request changes to a completed translation. This section covers how to create, retrieve, list, and delete revisions, including the ability to attach reference files. Revisions follow a status flow, ensuring that changes are properly tracked and processed.
Revision Object
| Field | Type | Description |
|---|---|---|
id |
Number | Revision identifier |
status |
String | Current revision status - requested, in_progress, in_review, completed or on_hold |
body |
String | Revision body HTML |
requested_at |
String | Time and date when the revision was requested (UTC) |
completed_at |
String | Time and date when the revision was completed (UTC) |
files |
Array | List of File objects |
List Revisions
Retrieve a paginated list of your revisions, sorted in descending order by requested_at date. Returns a paginated list of Revision Objects.
Request
GET https://rushtranslate.com/api/v1/orders/:order_id/revisions
Response - 200
{
"data": [
{
"id": 61233,
"status": "completed",
"body": "<p>Please spell last name as Silvia.</p>",
"requested_at": "2026-03-22T19:56:01Z",
"completed_at": "2026-03-22T23:13:27Z",
"files": []
},
{
"id": 61234,
"status": "completed",
"body": "<p>School name is Canterbury School.</p>",
"requested_at": "2026-02-17T12:22:57Z",
"completed_at": "2026-02-17T13:04:13Z",
"files": [
{
"id": 23904338,
"name": "ID Document.jpg",
"type": "reference",
"size": 80296,
"download_url": "https://rushtranslate.com/api/v1/...",
"created_at": "2026-02-17T12:21:04Z"
}
]
}
],
"links": {...},
"meta": {...}
}
Create a Revision
Create a new revision request for an order. Optional files must be uploaded first, as their IDs will be included in the files array of this request. Only files of type reference are accepted. Returns a Revision Object.
Request
POST https://rushtranslate.com/api/v1/orders/:order_id/revisions
{
"body": "<p>School name is Canterbury School.</p>",
"files": [
23904338
]
}
Request Parameters
| Field | Type | Required | Description |
|---|---|---|---|
body |
String | Y | Revision body - basic HTML allowed |
files |
Array | Y | List of file IDs |
Response - 201
{
"id": 61233,
"status": "completed",
"body": "<p>School name is Canterbury School.</p>",
"requested_at": "2026-02-17T12:22:57Z",
"completed_at": "2026-02-17T13:04:13Z",
"files": [
{
"id": 23904338,
"name": "ID Document.jpg",
"type": "reference",
"size": 80296,
"download_url": "https://rushtranslate.com/api/v1/...",
"created_at": "2026-02-17T12:21:04Z"
}
]
}
Retrieve a Revision
Retrieve detailed information about a specific revision request. Returns a Revision Object.
Request
GET https://rushtranslate.com/api/v1/orders/:order_id/revisions/:revision_id
Response - 200
{
"id": 61233,
"status": "completed",
"body": "<p>School name is Canterbury School.</p>",
"requested_at": "2026-02-17T12:22:57Z",
"completed_at": "2026-02-17T13:04:13Z",
"files": [
{
"id": 23904338,
"name": "ID Document.jpg",
"type": "reference",
"size": 80296,
"download_url": "https://rushtranslate.com/api/v1/...",
"created_at": "2026-02-17T12:21:04Z"
}
]
}
Delete a Revision
Delete an existing revision request. Only revisions with a status of requested can be deleted via the API. For revisions with other statuses, please contact support.
Request
DELETE https://rushtranslate.com/api/v1/orders/:order_id/revisions/:revision_id
Response - 204
No Content
Objects
This section covers shared objects used across multiple endpoints, such as comments and services. These objects appear in both quote and order responses. Transactions appear only in order responses. Additional objects that have their own dedicated sections, including languages, files and revisions, can be found in the corresponding sections of this documentation.
Comment Object
| Field | Type | Description |
|---|---|---|
author |
String | Name of the comment author |
body |
String | Comment body - basic HTML allowed |
created_at |
String | Time and date when the comment was created (UTC) |
Service Object
Some fields are not available until the parent quote or order has been processed.
| Field | Type | Description |
|---|---|---|
name |
String | Name |
description |
String | Description |
quantity |
Number | Quantity ordered – Not available until processed |
price |
Number | Price each in cents (USD) – Not available until processed |
discount |
Number | Discount each in cents (USD) – Not available until processed |
total |
Number | Total service price in cents (USD) – Not available until processed |
Transaction Object
| Field | Type | Description |
|---|---|---|
type |
String | Type of transaction - charge or refund |
amount |
Number | Transaction amount in cents (USD) |
description |
String | Description of the transaction |
payment_instrument |
String | Type of payment - invoice, us_bank_account, credit_card, paypal, etc. |
payment_type |
String | Type of payment method - visa, mastercard, paypal, ach, etc. |
payment_description |
String | Description of the payment method |
created_at |
String | Time and date when the transaction was created (UTC) |