Update an API key
PATCH/v1/api-keys/{id}
Rename a key or change its permissions. You can only give a key permissions you have, and you cannot change a key that is more powerful than yours.
Required scope: api_keys:manage
Parameters
| Name | In | Description |
|---|---|---|
idrequired | path | The API key id. |
Request body
| Field | Type |
|---|---|
nameoptional | string |
scopesoptional | "emails:send" | "emails:read" | "domains:manage" | "webhooks:manage" | "templates:manage" | "suppressions:manage" | "api_keys:manage" | "contacts:manage" | "broadcasts:manage" | "inbound:manage" | "emails:verify"[] |
Unknown fields are rejected, so a typo never silently does nothing.
Example
curl -X PATCH 'https://api.sendsend.email/v1/api-keys/ID' \
-H "Authorization: Bearer $SENDSEND_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"name": "ci (staging)"
}'Response 200
{
"id": "key_9Fq…",
"object": "api_key",
"name": "ci (staging)",
"display": "ss_live_ab12cd34_…",
"scopes": [
"emails:send"
],
"created_at": "2026-10-06T15:00:00.000Z",
"last_used_at": null,
"expires_at": null,
"revoked_at": null
}Errors
| Status | Code | When |
|---|---|---|
| 400 | validation_error | The request body or parameters are invalid. The message says which field. |
| 404 | not_found | No such resource in this project. |
| 401 | unauthorized | The API key is missing, invalid or revoked. |
| 403 | forbidden | The key does not have the scope this endpoint needs. |
Every error has the same shape. See Errors.