Transept
Browse the help center

Automate Transept with the API

Maintained by Vitalii VlasiukCo-founder

Everything the editor does, a script can do too. The API is for wiring Transept into a pipeline — a CMS, a localization job, a CI step — so translation runs without anyone opening the app.

How do I get an API key?

Create a personal API key under Settings → Developer. It’s available on every plan, including Free — there’s no separate gate, your word balance is what limits usage. Give the key a name, optionally set an expiry, and copy the secret when it’s shown: it appears once and can’t be retrieved later. Revoke a key anytime from the same page.

Requests authenticate with the key in an Authorization: Bearer tsk_live_… header — header only, never in a URL.

Keys are created — and revoked — in Settings → Developer.

How do I import documents over the API?

Create a document from raw text, HTML, or markdown, or upload a file — the same formats the app accepts. You can also import a string table (.tstrings.json): a structured format for UI text or game strings, where each string is a unit with a stable key and its own context — a note on what it is, where it appears, a character limit, and what its placeholders mean. All of that reaches the model, placeholders like {name} are protected from being dropped or renamed, and plurals are expanded per language (one English form becomes two in German, four in Ukrainian). Any translations the file already carries are imported as-is, free, and feed translation memory straight away.

How do I run across languages in one call?

A group run translates into several languages at once. Name the document, the workflow or template to run, and the target languages; Transept creates any missing language versions and runs the workflow on each. One id tracks the whole thing — poll it for each language’s progress and whether it’s waiting on a review.

For repeat runs, re-submit a string table’s current file and Transept works out what changed: unchanged strings keep their translations (and any review already done), and the run touches only the new or genuinely changed units — the API side of Run only what changed. A job-creating call also accepts an Idempotency-Key header, so a retry after a network blip returns the original result instead of a second document and a second bill.

How do I get pushed events with webhooks?

Instead of polling, register a URL and Transept pushes an event when a run finishes or fails, when a review is ready to look at, when an upload finishes processing, and when an export is ready. Every delivery carries an HMAC-SHA256 X-Transept-Signature: t=…,v1=… header so your receiver can verify it really came from us, and a failing endpoint is retried with backoff before it’s switched off.

Notion triggers: give Transept access to the page

A workflow can also run itself from a Notion database automation: point the automation’s webhook at the trigger URL and Transept runs the workflow on the page that changed. The catch is that a Notion webhook never carries the page’s content — it only says which page fired. Transept reads that page through your Notion connection, so two things both have to be in place, or every fire is turned away with an access error and the trigger card shows a “couldn’t read the Notion page” note:

  • Connect Notion in Transept — under Settings → Integrations. That’s the one-time OAuth link that lets Transept read on your behalf.
  • Share the source database with the integration inside Notion — open the database (or page), click its ••• menu, choose Connections, and add Transept. Connecting Notion in Settings doesn’t grant access to a specific database on its own; without this step the connection is live but the page stays unreadable.
  • Fire on a property change, not just a body edit. Notion automations trigger on property changes (and page adds), so editing a page’s body alone may not fire anything. The reliable pattern is a Status property the automation watches — flip it (e.g. to “Ready to translate”) and that change is what calls the trigger.

Where is the API reference?

The full endpoint list is published as an OpenAPI spec you can import into n8n, Zapier, or a code generator: browse it at /public/v1/docs on your Transept API, or fetch the raw JSON at /public/v1/openapi.json. Runs started over the API bill words exactly like the in-app editor.

Explore the features

Still stuck? Ask Literess in the app, or write to [email protected].