← Developer guides

Get your API key

Create an organization and an app in the Console, and get the client_id and client_secret you'll use to call the SDK.

Every SDK call needs credentials. This guide gets you the client_id and client_secret you’ll use in the next guide — Your first SDK call — in about two minutes.

What client_id and client_secret are for

The client_id/client_secret pair you get below are Basic-auth credentials for POST /auth/token — the recommended way to mint the short-lived, per-user session JWTs your browser SDK uses (see Choose your auth mode). Your backend sends them as Authorization: Basic base64(client_id:client_secret); the platform returns a JWT scoped to your app’s allowed_pipelines.

They are not the same credential as the x-api-key used in server-only API key mode, and they are not a JWT-signing secret. If you go with the (legacy, alternate) self-signed-JWT approach described in Integrate into your own server, that path needs a different secret — a per-app signing secret — which isn’t issued from this Console flow at all. It’s provisioned out-of-band by the platform operator, over a secure channel, and is only needed if you deliberately choose to self-sign instead of calling POST /auth/token.

What about a static x-api-key?

This guide covers the client_id/client_secret pair for session-JWT mode — the recommended path for most integrations. A static x-api-key is a separate, self-service credential for the same app: open the app’s detail page in the Console and click Regenerate API Key under the “API Key” card. The key is shown once; store it in your server’s secrets store.

Unlike client_id/client_secret (which you exchange for a short-lived JWT via POST /auth/token), an x-api-key is used directly as a header on every call — no minting step. It’s scoped to the same app: it can only call pipelines on that app’s allowed_pipelines list, and bills to that app’s org wallet, same as a session JWT. The tradeoff is per-user attribution — every call looks like it came from “the app,” not a specific user. For anything where per-user attribution matters, use session JWT mode instead. See Choose your auth mode for the full comparison.

1. Sign in to the Console

Open the Console and sign in, or create an account (50 free credits, no card required).

2. Create an organization

Create an org. You become its owner. The org holds your apps, usage and billing.

3. Create an application

Under Applications → New application, give it a name. This app is the identity your server will use to call the SDK.

4. Copy your client_id and client_secret

You’ll see a client_id and a one-time client_secret. The secret is shown once — copy it into your server’s secrets store now. It must never reach browser code or a public repo.

5. Enable a pipeline

Go to Tools, pick a pipeline (start with translate-string), and click Enable onto application. This adds it to the app’s allowed_pipelines allow-list — the SDK (and any JWT minted via POST /auth/token) can only call pipelines your app has enabled.

Next: Your first SDK call uses this client_id/client_secret pair to make a real translate call.