> For the complete documentation index, see [llms.txt](https://docs.slatecx.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.slatecx.com/guides/api-keys.md).

# API keys

Integration API keys let your own server-side systems call SlateCX public APIs. Manage them under **Developer** (`/developer-settings`).

Developer is separate from Integration Setup: Integration Setup configures external systems SlateCX uses; Developer manages credentials your systems use to call SlateCX.

## Create a key

```
POST /tenants/:tenantId/integration-api-keys
```

Only tenant admins can create keys. The plaintext secret is returned exactly once — store it immediately in your own secret manager. Admin does not keep it in frontend state beyond the current page session.

## List keys

```
GET /tenants/:tenantId/integration-api-keys
```

Returns metadata only: name and key prefix. Plaintext secrets are never returned again.

## Delete a key

```
DELETE /tenants/:tenantId/integration-api-keys/:integrationApiKeyId
```

Deletion is a soft revoke. The key stops authenticating public APIs immediately and disappears from the list, while non-secret metadata is retained for audit and historical attribution.

## Use a key

Send it as a bearer token:

```
Authorization: Bearer <secret>
```

The key identifies the tenant, so tenant-scoped public API routes do not repeat the tenant ID in the path.

## Scope

Keys are tenant-wide and reusable across public APIs. There is no per-key scoping in this version.

## See also

* [Public API](https://github.com/Slate-Technologies-Group/slatecx/tree/docs/docs/reference/public-api.md)
