Zum Inhalt springen

WE-TRANSLATE / API V1

Translation API

Create professional linguistic translation orders from your application. Pricing and payment use your We-translate account rates and balance.

Getting started

  1. Sign in and create a key with the required permissions. The full key is displayed once.
  2. Keep the key on your server and send it only over HTTPS in the Authorization header.
  3. Start by reading your profile. Read-only keys can read data and request quotes. Creating and submitting orders requires a write key.
GET https://api.we-translate.biz/v1/user/view
Authorization: Bearer YOUR_API_KEY
Accept: application/json

The same data and keys are also available at: https://we-translate.biz/api/v1

Order workflow

This version supports text translations across 19 languages and four services: general, business, literary and legal. Languages accept codes such as en, ru and de, or catalogue identifiers. Files, audio and creating other customers are not supported in this version.

1. Create a draft and review its price

Creating a draft does not debit funds or send work to a translator. Its quote is valid for 10 minutes. external_id is an optional unique reference from your system.

curl 'https://api.we-translate.biz/v1/order/create-as-draft' \
  -H "Authorization: Bearer $WT_API_KEY" \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: draft-your-unique-reference-001' \
  --data '{"service":"general","from":"en","to":"ru",
    "source_text":"The translation text goes here.",
    "external_id":"your-order-001"}'
{"ok":true,"status":201,"order":{
  "id":"d_0123456789abcdef0123456789abcdef",
  "status":"draft","word_count":5,
  "total":{"currency":"EUR","amount_minor":100,"amount":"1.00"}
}}

The example response is abbreviated. Always use the actual returned price and identifier. The minimum order price is EUR 1.

2. Approve the price and submit for work

curl 'https://api.we-translate.biz/v1/order/in-work?id=DRAFT_ID' \
  -H "Authorization: Bearer $WT_API_KEY" \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: submit-your-unique-reference-001' \
  --data '{"quoted_amount_minor":100}'

This operation debits your balance and creates a normal We-translate order. Send the exact integer number of euro cents from total.amount_minor. The response contains the numeric order ID also displayed in your dashboard.

3. Read progress and retrieve the result

GET https://api.we-translate.biz/v1/order/view?id=ORDER_ID
Authorization: Bearer YOUR_API_KEY

Statuses: waiting, translating, returned, moderation and complete. translated_text is returned only after completion and approval. The original draft ID is also accepted. Polling once every 30–60 seconds is sufficient.

Endpoints

MethodPathPurpose
GET/user/viewYour account ID, username and balance
GET/order/get-data-for-create-orderLanguages, directions, rates and service types
POST/order/quoteQuote without saving; same input fields as a draft
POST/order/create-as-draftCreate a draft
POST/order/in-work?id=DRAFT_IDDebit balance and submit to the queue
GET/order/view?id=ORDER_IDYour order and its completed result
GET/order/index?page=1&per_page=20Your non-deleted orders in the current table; up to 100 per page
POST/order/delete?id=DRAFT_IDCancel an unsubmitted draft; send {}

Historical orders moved to the archive are currently outside this list. Contact support to cancel an order that is already in work.

Retries and errors

Draft creation, submission and cancellation require Idempotency-Key: 16–128 characters using letters, digits, dots, colons, hyphens or underscores. Use a new key for each new operation. If a response is lost, repeat the same operation with the same parameters and the same key.

Submitting an already submitted draft does not create another order or debit the balance again. Changed parameters with an existing key return 409. Recreate an expired draft and review the new quote.

  • 401 — invalid, revoked or expired key.
  • 402 — insufficient account balance.
  • 403 / 404 — operation not permitted or an owned order was not found.
  • 409 — idempotency, quote or state conflict.
  • 422 — check request fields.
  • 429 — 60 requests per key and 20 POST requests per account per minute; respect Retry-After.
  • 503 — temporary error; preserve the original Idempotency-Key when retrying a debit.

Every response includes request_id for support. Timestamps use UTC; amount_minor values are integer euro cents. API access does not record a website sign-in. Keys stop working after a password change.

Unsubmitted draft text is removed after seven days. The technical request log is retained for 90 days and does not contain translation content or API keys.