Skip to main content
This tab is for anyone who puts an OpenType API key into a server, a script or a CI pipeline, and for whoever reviews that setup. It explains how a request proves who it is, how keys are stored and retired, how scopes and roles limit what a key can do, and what happens to the data you send in a run. Every page here describes what the API at https://api.opentype.dev actually does. Where a behavior needs action on your side, such as rotating a key that leaked, the page says so and shows the call.

Pages in this tab

Authentication

The bearer header, the two kinds of credential, and every 401, 403 and 503 an auth check can return.

API key security

Key format, what is stored, the secret shown once, revocation, rotation, and what to do after a leak.

Scopes and roles

The nine scopes, the role-to-scope table, the scope ceiling on new keys, and service-account keys.

Data handling

What reaches the model, what a run keeps and returns, and how credentials are kept out of logs.

What OpenType does, and what you do

Four rules that cover most of it

  1. Keep keys on the server. A key in browser or mobile code can be read by anyone who loads it.
  2. One key per process and environment. Name it after what holds it, so a leak or a last_used_at check points to one place.
  3. Least privilege. A process that only sends runs needs runs_write, plus runs_read if it reads runs back. It does not need keys_write or billing_write.
  4. Plan for rotation. A secret you cannot replace in minutes is a secret you will leave in place after a leak. See Key rotation.