Update API key
PATCH /api-keys/:id — dashboard-only. Key permissions are changed in the dashboard; an API key cannot re-scope a key.
/api-keys/:id403 dashboard_only — "API keys can only be created, edited and revoked from the MailBlastr dashboard, not with an API key." — no matter what permission that key holds. Edit a key from the dashboard under API Keys.full_access key now receives 403 dashboard_only; a key could otherwise widen its own permissions. The official SDKs deliberately expose no method for this endpoint.Updates an API key in place — no need to mint a new token to change what an existing key may do. Omitted fields stay unchanged. The secret token itself is immutable and never re-shown: to rotate credentials, create a new key and revoke this one. The reference below describes the request the dashboard makes on your behalf with a signed-in session — it is not callable with an API key.
idstringrequiredThe API key ID as returned by `GET /api-keys` — a numeric string (e.g. 1042), not a UUID. A non-numeric id returns not_found (404).
namestringoptionalA new label for the key.
permissionfull_access | sending_accessoptionalThe new access level. Setting full_access also clears any domain restriction — full-access keys always work across all your domains.
domain_idsstring[] | nulloptionalReplace the key’s domain restriction. Only valid with sending_access. Send null (or an empty array) to allow all domains. Omit the field to leave the current restriction unchanged.
domain_idstringoptionalLegacy single-domain form of domain_ids. Provide one or the other, not both.
Response
For the dashboard session, the updated key is returned (the secret is never re-shown — token is the non-secret prefix):
{
"id": "1042",
"object": "api_key",
"name": "Production server",
"token": "mb_AbC12",
"permission": "sending_access",
"domain_id": "b8f9c2aa-4c11-4f24-9d55-1f7a2b3c4d5e",
"domain_ids": ["b8f9c2aa-4c11-4f24-9d55-1f7a2b3c4d5e"],
"created_at": "2026-06-23T10:00:00.000Z",
"last_used_at": "2026-06-25T17:09:51.813Z"
}Response to an API-key caller
{
"statusCode": 403,
"name": "dashboard_only",
"message": "API keys can only be created, edited and revoked from the MailBlastr dashboard, not with an API key."
}dashboard_only (403) for every API-key caller — this check runs before any validation; not_found if the key does not exist, is revoked, or is not yours; validation_error if no updatable field is provided, name is empty, permission is invalid, both domain_id and domain_ids are provided, a domain restriction is combined with full_access, or domain_ids references a domain that is not yours.