Update Endpoint API Key

PUT /v1/endpoints/{uuid}/api-keys/{key_uuid}

Edit metadata on an existing per-endpoint API key — rename it, adjust the per-key rate limit, or activate/deactivate without deleting. Pass any subset of the fields; omitted fields keep their current value (this is one of the few endpoints that does true partial updates).

To "rotate" a key — replace the secret value while keeping its config — there's no in-place rotate; delete the old key and create a new one.

Path parameters

uuid string (uuid) Req
Endpoint UUID.
key_uuid string (uuid) Req
Key UUID. Get from list.

Request body

All fields optional. Omitted fields preserve the current value.

name string
New friendly label. Empty string is preserved as the current name (handler treats "" as "don't change").
rate_limit_rps int
New per-key RPS cap. Pass -1 to leave unchanged; 0 means no limit.
is_active boolean | null
Pass true / false to flip. null / omit to keep.

Response (200 OK)

status string
"updated".

Errors

400 Bad Request
Invalid JSON.
401 Unauthorized
Missing auth.
403 Forbidden
Endpoint doesn't belong to you.
404 Not Found
Key doesn't exist on this endpoint.
Request — disable a key
curl -X PUT "https://api.ngris.com/v1/endpoints/<uuid>/api-keys/<key_uuid>" \ -H "X-API-KEY: <your_api_key>" \ -H "Content-Type: application/json" \ -d '{"is_active": false}'
Python
from ngris import Ngris client = Ngris(api_key="<your_api_key>") client._put_raw( "/endpoints/<endpoint_uuid>/api-keys/<key_uuid>", {"name": "mobile-ios-v2", "rate_limit_rps": 200}, )
Response — 200 OK
{ "status": "updated" }
Iris