Skip to content
Endless Documentation

Create an API key

POST
/api-keys

Mints a key that acts as you, narrowed to the given abilities, projects, credit limit, addresses and expiry. The response carries the secret once; it is never shown again. You can only grant abilities your own role allows.

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.

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
organization_id*string
Match^org_
name*string
Length1 <= length <= 100
description?|null
scopes*array<>
Items1 <= items <= 100
project_access?string
Default"all"
Value in"all""selected"
project_ids?array<>
Itemsitems <= 100
Default[]
spending_limit?|null
allowed_ips?array<|||>
Itemsitems <= 32
Default[]
expires_at?|null

Response Body

OK

application/json
  1. response
api_key*
token*string
Example Request
curl -X POST 'https://api.endless.app/api-keys' \  -H 'Content-Type: application/json' \  -d '{  "organization_id": "string",  "name": "string",  "scopes": [    "models:read"  ]}'
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"}