{
  "info": {
    "name": "RapidTranslate API (v1)",
    "_postman_id": "rt-api-v1-0000-0000-0000-000000000001",
    "description": "Official Postman collection for the RapidTranslate certified-translation API.\n\nPlace and track orders, list languages and pricing, and approve orders programmatically.\n\n## Getting started\n1. Import this collection into Postman (File → Import).\n2. Open the collection variables and set **apiKey** to a key generated in *Business Settings → API Keys*.\n3. (Optional) Point **baseUrl** at your environment. It defaults to production.\n\nEvery request already sends `Authorization: Bearer {{apiKey}}` and `Accept: application/json`.\n\nUse a **Sandbox** key to run against the fully simulated environment (no billing, no fulfillment). Responses and webhooks carry a `livemode` flag so you can tell the two apart.\n\nFull documentation: https://www.rapidtranslate.org/developers",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      { "key": "token", "value": "{{apiKey}}", "type": "string" }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://www.rapidtranslate.org/api/v1",
      "type": "string",
      "description": "Base URL for the API. Override per environment if needed."
    },
    {
      "key": "apiKey",
      "value": "YOUR_API_KEY",
      "type": "string",
      "description": "Your secret API key from Business Settings → API Keys. Use a Sandbox key for test mode."
    },
    {
      "key": "orderId",
      "value": "",
      "type": "string",
      "description": "A translation order UUID (the `id` returned by Create an order). Used by Retrieve and Approve."
    }
  ],
  "item": [
    {
      "name": "Reference data",
      "description": "Read the language list and rate card. These values feed the fields you send when creating an order.",
      "item": [
        {
          "name": "List languages",
          "request": {
            "method": "GET",
            "header": [
              { "key": "Accept", "value": "application/json" }
            ],
            "url": {
              "raw": "{{baseUrl}}/languages",
              "host": ["{{baseUrl}}"],
              "path": ["languages"]
            },
            "description": "Returns every supported language. Use the `name` value verbatim as `source_language` / `target_language` when creating an order — orders are matched on the language name, not the code.\n\nRequires an authenticated key."
          },
          "response": []
        },
        {
          "name": "Get price list",
          "request": {
            "method": "GET",
            "header": [
              { "key": "Accept", "value": "application/json" }
            ],
            "url": {
              "raw": "{{baseUrl}}/prices",
              "host": ["{{baseUrl}}"],
              "path": ["prices"]
            },
            "description": "Returns the US-baseline rate card, in USD, that your orders are billed against. Amounts are decimal strings. Prices are grouped by `translation` type (each with a `regular` and `rapid` per-`unit` price), `delivery` method, and `apostille`.\n\nSworn translation is priced per language pair — see the `language_pairs` block.\n\nScope: `price:read`"
          },
          "response": []
        }
      ]
    },
    {
      "name": "Orders",
      "description": "Create, retrieve, list, and approve translation orders.",
      "item": [
        {
          "name": "Create an order",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Accept", "value": "application/json" }
            ],
            "body": {
              "mode": "formdata",
              "formdata": [
                { "key": "reference", "value": "APO-10432", "type": "text", "description": "Your own unique order reference. Reusing it returns the existing order (idempotent)." },
                { "key": "customer[name]", "value": "Jane Doe", "type": "text", "description": "End customer's full name." },
                { "key": "customer[email]", "value": "jane@example.com", "type": "text", "description": "End customer's email." },
                { "key": "source_language", "value": "Spanish", "type": "text", "description": "Exact language name from List languages." },
                { "key": "target_language", "value": "English (US)", "type": "text", "description": "Exact language name from List languages." },
                { "key": "translation_type", "value": "certified", "type": "text", "description": "One of certified, standard, specialized, sworn, naati." },
                { "key": "turnaround", "value": "regular", "type": "text", "description": "regular or rapid." },
                { "key": "delivery[method]", "value": "email", "type": "text", "description": "One of email, notarized_email, mail_standard, mail_next_day." },
                { "key": "delivery[address][street]", "value": "", "type": "text", "description": "Required for mail_standard / mail_next_day.", "disabled": true },
                { "key": "delivery[address][city]", "value": "", "type": "text", "disabled": true },
                { "key": "delivery[address][state]", "value": "", "type": "text", "description": "Optional.", "disabled": true },
                { "key": "delivery[address][postal_code]", "value": "", "type": "text", "disabled": true },
                { "key": "delivery[address][country]", "value": "US", "type": "text", "description": "ISO country code, e.g. US.", "disabled": true },
                { "key": "apostille[enabled]", "value": "false", "type": "text", "description": "Add apostille processing (target language must be English; requires mail_standard).", "disabled": true },
                { "key": "apostille[documents]", "value": "1", "type": "text", "description": "Number of documents to apostille. Required when enabled.", "disabled": true },
                { "key": "apostille[destination_country]", "value": "", "type": "text", "description": "Country the apostille is for.", "disabled": true },
                { "key": "notes", "value": "", "type": "text", "description": "Free-text instructions.", "disabled": true },
                { "key": "coupon_code", "value": "", "type": "text", "description": "A discount code to apply.", "disabled": true },
                { "key": "files[]", "type": "file", "src": [], "description": "1–20 files. Allowed: pdf, jpg, jpeg, png, doc, docx, tiff, heic. Max 20 MB each." }
              ]
            },
            "url": {
              "raw": "{{baseUrl}}/orders",
              "host": ["{{baseUrl}}"],
              "path": ["orders"]
            },
            "description": "Creates a translation order and uploads the source files. Uses `multipart/form-data` because it carries files. Nested fields use bracket notation, e.g. `customer[name]`.\n\nAttach at least one file under the `files[]` key (select a file in the value column).\n\nA freshly created order starts as `pending` with a `null` total while pricing is calculated. Poll Retrieve an order or listen for the `order_status` webhook to see the price update.\n\nIdempotency: repeating a create with the same `reference` returns the existing order with 200 instead of a duplicate (a new order returns 201).\n\nScope: `orders:write`"
          },
          "response": []
        },
        {
          "name": "Retrieve an order",
          "request": {
            "method": "GET",
            "header": [
              { "key": "Accept", "value": "application/json" }
            ],
            "url": {
              "raw": "{{baseUrl}}/orders/{{orderId}}",
              "host": ["{{baseUrl}}"],
              "path": ["orders", "{{orderId}}"]
            },
            "description": "Fetches a single order by its `id` (the UUID returned on creation). Set the `orderId` collection variable first. Returns 404 not_found if the order doesn't belong to your organization.\n\nScope: `orders:read`"
          },
          "response": []
        },
        {
          "name": "List orders",
          "request": {
            "method": "GET",
            "header": [
              { "key": "Accept", "value": "application/json" }
            ],
            "url": {
              "raw": "{{baseUrl}}/orders?status=completed&per_page=50",
              "host": ["{{baseUrl}}"],
              "path": ["orders"],
              "query": [
                { "key": "status", "value": "completed", "description": "One of pending, awaiting_approval, processing, completed, cancelled." },
                { "key": "per_page", "value": "50", "description": "1–100. Defaults to the standard page size." },
                { "key": "reference", "value": "", "description": "Filter by your reference.", "disabled": true },
                { "key": "source_language", "value": "", "description": "Filter by language name.", "disabled": true },
                { "key": "target_language", "value": "", "description": "Filter by language name.", "disabled": true },
                { "key": "created_from", "value": "", "description": "Date range start (inclusive).", "disabled": true },
                { "key": "created_to", "value": "", "description": "Date range end (inclusive).", "disabled": true },
                { "key": "sort", "value": "-created_at", "description": "-created_at (default, newest first) or created_at (oldest first).", "disabled": true },
                { "key": "page", "value": "1", "description": "Page number.", "disabled": true }
              ]
            },
            "description": "Returns your organization's orders, newest first, with pagination in `meta`. All query parameters are optional.\n\nScope: `orders:read`"
          },
          "response": []
        },
        {
          "name": "Approve an order",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Accept", "value": "application/json" }
            ],
            "url": {
              "raw": "{{baseUrl}}/orders/{{orderId}}/approve",
              "host": ["{{baseUrl}}"],
              "path": ["orders", "{{orderId}}", "approve"]
            },
            "description": "Approves the calculated total for an order that is `awaiting_approval`, activating it into fulfillment. Only needed when your account requires approval before work begins. The call is idempotent.\n\nIf the order is not awaiting approval you get 409 not_awaiting_approval; if a charge is required but fails you get 402 payment_failed or 402 credit_hold.\n\nScope: `orders:write`"
          },
          "response": []
        }
      ]
    }
  ]
}
