Crear una Clave de API
Cree una Clave de API estándar. Guarde la clave en texto plano que devuelve esta operación, ya que se muestra una sola vez.
Cree una Clave de API estándar. Guarde la clave en texto plano que devuelve esta operación, ya que se muestra una sola vez.
Endpoint
- URL base
https://runapi.ai- Versión de la API
v1- Autenticación
Authorization: Bearer YOUR_MANAGEMENT_API_KEY
Solicitud
Envíe valores únicamente en la ubicación de solicitud indicada.
Cuerpo JSON7 campos
allowed_modelsarray | nullLista de permitidos opcional de identificadores de modelo.
credit_limit_centsinteger | nullLímite de gasto opcional en centavos de USD.
credit_limit_reset_intervalstring | nullCadencia de restablecimiento opcional para el límite de gasto de la clave.
Valores permitidos:daily, weekly, monthly
credit_limit_windowsobjectLímites de gasto rotativo con clave 1h, 1d o 7d; cada valor contiene un limit_cents entero positivo.
enabledbooleanSi se aceptan las solicitudes que usan esta clave.
Valor predeterminado:true
guardrail_idstringID de prefijo de barrera de seguridad opcional para adjuntar en la creación.
namestringNombre descriptivo de la clave de API.
Respuesta de éxito
POST /api/v1/keys
{
"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": {
"1d": {
"limit_cents": 500
},
"1h": {
"limit_cents": 100
},
"7d": {
"limit_cents": 2000
}
},
"enabled": true,
"guardrail_id": "guardrail_123",
"id": "token_123",
"key": "runapi_plaintext_example",
"last_used_at": null,
"masked_token": "runapi_abc...wxyz",
"name": "Production"
}
Respuesta de error (401)
Esquema de respuesta
{
"properties": {
"error": {
"description": "Mensaje de error legible por personas.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Ejemplo de respuesta
{
"error": "Authentication required"
}
Respuesta de error (403)
Esquema de respuesta
{
"properties": {
"error": {
"description": "Mensaje de error legible por personas.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Ejemplo de respuesta
{
"error": "Management API key required"
}
Respuesta de error (403)
Esquema de respuesta
{
"properties": {
"error": {
"description": "Mensaje de error legible por personas.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Ejemplo de respuesta
{
"error": "Account admin required"
}
Respuesta de error (400)
Esquema de respuesta
{
"oneOf": [
{
"properties": {
"error": {
"description": "Mensaje de error legible por personas.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
},
{
"properties": {
"error": {
"description": "Resumen de validación legible por personas.",
"type": "string"
},
"errors": {
"additionalProperties": {
"items": {
"type": "string"
},
"type": "array"
},
"description": "Mensajes de validación con clave por campo de solicitud público, con un array de cadenas legibles por personas para cada campo.",
"type": "object"
}
},
"required": [
"error",
"errors"
],
"type": "object",
"unevaluatedProperties": false
}
]
}
Ejemplo de respuesta
{
"error": "page must be an integer"
}
Respuesta de error (422)
Esquema de respuesta
{
"properties": {
"error": {
"description": "Resumen de validación legible por personas.",
"type": "string"
},
"errors": {
"additionalProperties": {
"items": {
"type": "string"
},
"type": "array"
},
"description": "Mensajes de validación con clave por campo de solicitud público, con un array de cadenas legibles por personas para cada campo.",
"type": "object"
}
},
"required": [
"error",
"errors"
],
"type": "object",
"unevaluatedProperties": false
}
Ejemplo de respuesta
{
"error": "Validation failed",
"errors": {
"base": [
"Validation failed"
]
}
}
Ejemplo de cURL
curl -X POST https://runapi.ai/api/v1/keys \
-H 'Authorization: Bearer YOUR_MANAGEMENT_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"name":"Production","credit_limit_cents":1000,"credit_limit_reset_interval":"daily","credit_limit_windows":{"1h":{"limit_cents":100},"1d":{"limit_cents":500},"7d":{"limit_cents":2000}},"allowed_models":["gpt-5.4"],"guardrail_id":"guardrail_123"}'