rsk_...) is how your applications authenticate to MeshAPI. It is also the unit that carries limits, spend caps, model access, and usage attribution — so managing keys is how you control what each application is allowed to do.
This page covers the key-management API. For using a key to authenticate a request, see Authentication.
Create an admin key in Dashboard → Settings → Admin keys. It is shown once, carries an explicit permission set, and always expires. See Admin Keys for permissions, scopes, rotation, and revocation. Everything on this page is also available in Dashboard → API Keys without any credential; the API is for automating it.
Creating a key
Fields
rpm or rpd above your organization’s rate-limit tier ceiling (1,000 RPM and 1,000,000 RPD on the standard tier) are rejected with 422. See Rate Limits & Spend Caps.
A key created with an admin key carries every API scope except files:read and files:write, so it gets 403 on the Files & RAG routes. Create keys that need RAG in Dashboard → API Keys.
Managing keys
DELETE is a soft delete: it sets the key’s status to suspended. The key stops working at the inference layer immediately, but the record and its usage history are preserved. There is no hard-delete endpoint — this keeps historical usage attributable.Pinning the API version
A key can carry anapi_version — the dated contract every request made with it receives,
unless the request sends its own X-Mesh-Version header. Useful when the calling code is not
yours to change, or when a whole integration should sit on one version.
null to clear it. In the dashboard it is the key’s API Version field. See
API versioning for what a version covers and which ones are
served.
Model allow-lists
allowed_models restricts a key to a named set of models. It is the cleanest way to stop a cheap application reaching an expensive model.
Org and team keys
Assigningorg_id or team_id makes a key part of a shared structure: it draws on the org’s shared balance and inherits the org’s and team’s limits, resolved minimum-wins alongside the key’s own.
Attaching a routing_policy_template_id requires the key to belong to an org — templates are org-scoped, and a key with no org gets a 422.
See Organizations & Teams for the surrounding model.
Related
- Authentication —
rsk_vsmak_, and using a key to make requests - Admin Keys — the
mak_credential this page’s API takes - Rate Limits & Spend Caps — how limits resolve across tiers
- API Versioning — pinning a key to a dated contract
- Organizations & Teams — shared billing and pooled limits
- Account Configuration Checklist — recommended setup pass