The API Keys module centralizes the credentials that AI Gateway uses to authenticate with LLM provider APIs (OpenAI, Gemini, Anthropic, Azure OpenAI, Azure AI Foundry, Bedrock, Vertex AI, and Custom). Each API Key is linked to a single provider and later referenced by LLM Providers.
NOTERegister API Keys before configuring LLM Providers. Each provider configuration requires an existing key.
Learn how to:
The API Keys page lists all registered credentials with pagination. You can filter by:
Use Search to apply the filter and Clear to reset it.
Columns shown in the table:
Fill in the Create API Key form fields (see Form fields).
In the Actions column of the row you want, click the View icon. This opens the read-only Overview screen, on the General Info tab. The API Key configuration block holds the following fields:
No field is editable on this screen, and the API Key value does not appear on it: reading a credential does not return the key, so there is no masked value to display. An empty Description shows β.
Editing lives inside the details screen. Open the credential through the View icon (see View API Key) and, on the Overview screen, click the Edit button next to the API Key configuration title. The Update API Key form appears without the previously registered API Key value. The Provider field is immutable after registration. To change the provider, delete the current key and create a new one.
In the edit form you can:
Click Save to confirm.
In the Actions column of the row you want, click the Delete icon. Confirm the operation in the "Are you sure you want to delete this API key?" dialog.
IMPORTANTDeletion is permanent and cannot be undone. If an LLM Provider references the key, routes that depend on that provider start failing. Update or remove dependent configurations before deleting the key.
Creating, editing, or deleting an API Key generates a queryable record in the Access Control Audit Log, with the date, the author, the outcome of the operation, and the object's content. Querying, listing, or opening the detail of an API Key doesn't generate a record β only write operations are audited.
A request refused right at the entry point β for example, due to invalid data β generates no record at all. From the moment the operation is processed, both success and failure generate a record, and the failure record carries the reason and the configuration that was attempted, including when the failure happens because the object doesn't exist. On a deletion, when the object's content can't be read before removal, the record carries only the API Key identifier.
The record never exposes the API Key value β not in the success content, and not in the reason or attempted configuration of a failure.
Querying the Audit Log uses the Audit List (access-control.audits.list) and Audit View (access-control.audits.view) permissions, which already govern that screen.
The table below covers all fields in the creation and edit forms.
Field | Type | Required | Rules |
|---|---|---|---|
| Provider | Select (enum) | Yes, only during creation | Values: OpenAI, Gemini, Anthropic, Azure OpenAI, Azure AI Foundry, Bedrock, Vertex AI, Custom. Immutable after registration. |
| API Key | Text (sensitive) | Yes on creation; optional on edit | On edit, leaving it blank keeps the key already registered. For Vertex AI, the expected value is a Google Cloud API key enabled for the Vertex AI API. |
| Description | Text | Yes | Maximum 255 characters. Short text that identifies the key in the listing and in the LLM Providers and Policies selects. |
TIPThe gateway treats the key as sensitive information. No screen displays the key in plain text after registration. Use the Description to identify each credential in the listing.
Access to each action in the API Keys journey depends on its own permission. Without the corresponding permission, the screen element does not appear β the interface never shows an unavailable action as disabled.
Permissions are granted in Access Control, on the Roles screen, under the AI Gateway product. The table below lists each one exactly as Access Control displays it.
Permission | Group in AC | Description in AC | Identifier |
|---|---|---|---|
| List API Keys | api-keys | Allows listing API Keys | ai-gateway.api-keys.list |
| View API Key | api-keys | Allows viewing an API Key | ai-gateway.api-keys.view |
| Create and Update API Keys | api-keys | Allows creating and editing API Keys | ai-gateway.api-keys.create-update |
| Delete API Keys | api-keys | Allows deleting API Keys | ai-gateway.api-keys.delete |
Action | What it unlocks | Required permissions |
|---|---|---|
| List | API Keys item in the sidebar menu; listing with table and pagination | List API Keys |
| View | View icon on the row and the credential's Overview screen | List API Keys + View API Key |
| Create | Create API Key button | List API Keys + Create and Update API Keys |
| Edit | Edit button inside the Overview screen | List API Keys + View API Key + Create and Update API Keys |
| Delete | Delete icon on the row | List API Keys + Delete API Keys |
A control without its permission is not rendered; an API Key reached directly by URL without its permission lands on the AI Gateway's own access denied screen, not on Access Control's.
EDITING REQUIRES VIEWINGThe Edit button only exists inside the credential's Overview screen. Because of that, a user holding Create and Update API Keys but not View API Key has no path to edit an already registered credential. This is expected platform behavior, not a bug.
We use cookies to enhance your experience on our site. By continuing to browse, you agree to our use of cookies.Learn more