Skip to content
Endless Documentation

Rotate an API key

POST
/api-keys/{api_key_id}/rotate

Mints a new secret for the key. The current secret keeps working for previous_expires_in (now, 1h, 24h, 3d or 7d), so you can switch every deploy before it stops; everything else about the key stays. The response carries the new secret once. Only the key's creator can rotate it, since the key acts as them.

Authorization

bearerAuth
headerAuthorizationBearer <token>

A Clerk session JWT, or a workspace API key (esk_live_…) created in workspace settings. A key acts as the member who created it, narrowed to its abilities, projects and credit limit.

Path Parameters

api_key_id*string
Formatuuid

Header Parameters

Endless-Api-Version?string

Pin the caller to an API major (1). Omit to accept the current version. A major this deployment cannot serve is refused with 400 unsupported_api_version.

Request Body

application/json
  1. body
previous_expires_in*string
Value in"now""1h""24h""3d""7d"

Response Body

OK

application/json
  1. response
api_key*
token*string
Example Request
curl -X POST 'https://api.endless.app/api-keys/0191e5a3-5ae6-76d0-9b18-7c934ef05a06/rotate' \  -H 'Content-Type: application/json' \  -d '{  "previous_expires_in": "now"}'
Example Response
{  "api_key": {    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "organization_id": "string",    "name": "string",    "description": "string",    "project_access": "all",    "spending_limit": -2147483648,    "allowed_ips": [      "string"    ],    "expires_at": "2019-08-24T14:15:22Z",    "last_used_at": "2019-08-24T14:15:22Z",    "created_by_id": "string",    "revoked_at": "2019-08-24T14:15:22Z",    "revoked_by_id": "string",    "revoked_reason": "revoked",    "created_at": "2019-08-24T14:15:22Z",    "updated_at": "2019-08-24T14:15:22Z",    "token_prefix": "string",    "token_hint": "string",    "secret_created_at": "2019-08-24T14:15:22Z",    "retiring_secrets": [      {        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",        "token_hint": "string",        "expires_at": "2019-08-24T14:15:22Z",        "last_used_at": "2019-08-24T14:15:22Z",        "created_at": "2019-08-24T14:15:22Z"      }    ],    "scopes": [      "models:read"    ],    "status": "active",    "project_ids": [      "b5c0e7c3-d26d-4797-906b-f511ec4c5077"    ],    "created_by": {      "id": "string",      "first_name": "string",      "last_name": "string",      "email": "string",      "image_url": "string"    },    "credits_used": 0,    "capabilities": {      "can_rotate": true,      "can_widen": true    }  },  "token": "string"}