API Reference
Update an API key
Update an existing Standard API key and retrieve its current usage summary.
Update an existing Standard API key and retrieve its current usage summary.
Endpoint
- Base URL
https://runapi.ai- API version
v1- Authentication
Authorization: Bearer YOUR_MANAGEMENT_API_KEY
02
JSON bodyRequest
Send values only in the listed request location.
JSON body6 fields
allowed_modelsarray | null
Optional
Replacement model allowlist; null or an empty array clears it.
credit_limit_centsinteger | null
Optional
Spending cap in USD cents; null clears the cap and reset interval.
credit_limit_reset_intervalstring | null
Optional
Reset cadence for the spending cap.
Allowed values:daily, weekly, monthly
credit_limit_windowsobject
Optional
Replacement rolling spending caps keyed by 1h, 1d, or 7d; an empty object clears all rolling caps.
enabledboolean
Optional
Whether requests using this key are accepted.
namestring
Optional
Replacement friendly name for the API key.
Path parameters1 field
idstring
Required
API key prefix ID, for example token_123.
03
HTTP 200Success response
PATCH /api/v1/keys/:id
JSON
{
"allowed_models": [
"gpt-5.4"
],
"created_at": "2026-07-27T10:00:00.000Z",
"credit_limit_cents": 1000,
"credit_limit_reset_interval": "daily",
"credit_limit_windows": {},
"credit_usage_cents_by_model": {
"gpt-5.4": 250
},
"credit_usage_cents_this_month": 250,
"credit_usage_cents_this_week": 100,
"credit_usage_cents_today": 25,
"credit_usage_cents_total": 250,
"enabled": true,
"guardrail_id": "guardrail_123",
"id": "token_123",
"last_used_at": null,
"masked_token": "runapi_abc...wxyz",
"name": "Production primary"
}
04
HTTP 401Error response (401)
Response schema
JSON
{
"properties": {
"error": {
"description": "Human-readable error message.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Response example
JSON
{
"error": "Authentication required"
}
05
HTTP 403Error response (403)
Response schema
JSON
{
"properties": {
"error": {
"description": "Human-readable error message.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Response example
JSON
{
"error": "Management API key required"
}
06
HTTP 403Error response (403)
Response schema
JSON
{
"properties": {
"error": {
"description": "Human-readable error message.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Response example
JSON
{
"error": "Account admin required"
}
07
HTTP 400Error response (400)
Response schema
JSON
{
"oneOf": [
{
"properties": {
"error": {
"description": "Human-readable error message.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
},
{
"properties": {
"error": {
"description": "Human-readable validation summary.",
"type": "string"
},
"errors": {
"additionalProperties": {
"items": {
"type": "string"
},
"type": "array"
},
"description": "Validation messages keyed by public request field, with an array of human-readable strings for each field.",
"type": "object"
}
},
"required": [
"error",
"errors"
],
"type": "object",
"unevaluatedProperties": false
}
]
}
Response example
JSON
{
"error": "page must be an integer"
}
08
HTTP 404Error response (404)
Response schema
JSON
{
"properties": {
"error": {
"description": "Human-readable error message.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Response example
JSON
{
"error": "Resource not found"
}
09
HTTP 422Error response (422)
Response schema
JSON
{
"properties": {
"error": {
"description": "Human-readable validation summary.",
"type": "string"
},
"errors": {
"additionalProperties": {
"items": {
"type": "string"
},
"type": "array"
},
"description": "Validation messages keyed by public request field, with an array of human-readable strings for each field.",
"type": "object"
}
},
"required": [
"error",
"errors"
],
"type": "object",
"unevaluatedProperties": false
}
Response example
JSON
{
"error": "Validation failed",
"errors": {
"base": [
"Validation failed"
]
}
}
10
cURL example
CURL
curl -X PATCH https://runapi.ai/api/v1/keys/token_123 \
-H 'Authorization: Bearer YOUR_MANAGEMENT_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"name":"Production primary","enabled":true,"credit_limit_windows":{}}'