Riferimento API
Creare una Chiave API
Crea una Chiave API Standard. Salva la chiave in chiaro restituita da questa operazione perché viene mostrata una sola volta.
Crea una Chiave API Standard. Salva la chiave in chiaro restituita da questa operazione perché viene mostrata una sola volta.
Endpoint
- URL di base
https://runapi.ai- Versione API
v1- Autenticazione
Authorization: Bearer YOUR_MANAGEMENT_API_KEY
02
Corpo JSONRichiesta
Invia i valori solo nella posizione di richiesta elencata.
Corpo JSON7 campi
allowed_modelsarray | null
Opzionale
Allowlist opzionale degli identificatori di modello.
credit_limit_centsinteger | null
Opzionale
Limite di spesa opzionale in centesimi di USD.
credit_limit_reset_intervalstring | null
Opzionale
Cadenza opzionale di ripristino del limite di spesa della chiave.
Valori consentiti:daily, weekly, monthly
credit_limit_windowsobject
Opzionale
Limiti di spesa progressivi con chiave 1h, 1d o 7d; ogni valore contiene un limit_cents intero positivo.
enabledboolean
Opzionale
Se le richieste che utilizzano questa chiave vengono accettate.
Predefinito:true
guardrail_idstring
Opzionale
ID prefisso guardrail opzionale da allegare alla creazione.
namestring
Opzionale
Nome descrittivo per la Chiave API.
03
HTTP 201Risposta di successo
POST /api/v1/keys
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": {
"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"
}
04
HTTP 401Risposta di errore (401)
Schema della risposta
JSON
{
"properties": {
"error": {
"description": "Messaggio di errore leggibile.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Esempio di risposta
JSON
{
"error": "Authentication required"
}
05
HTTP 403Risposta di errore (403)
Schema della risposta
JSON
{
"properties": {
"error": {
"description": "Messaggio di errore leggibile.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Esempio di risposta
JSON
{
"error": "Management API key required"
}
06
HTTP 403Risposta di errore (403)
Schema della risposta
JSON
{
"properties": {
"error": {
"description": "Messaggio di errore leggibile.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Esempio di risposta
JSON
{
"error": "Account admin required"
}
07
HTTP 400Risposta di errore (400)
Schema della risposta
JSON
{
"oneOf": [
{
"properties": {
"error": {
"description": "Messaggio di errore leggibile.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
},
{
"properties": {
"error": {
"description": "Riepilogo di convalida leggibile dall'utente.",
"type": "string"
},
"errors": {
"additionalProperties": {
"items": {
"type": "string"
},
"type": "array"
},
"description": "Messaggi di convalida con chiave per campo della richiesta pubblica, con un array di stringhe leggibili dall'utente per ogni campo.",
"type": "object"
}
},
"required": [
"error",
"errors"
],
"type": "object",
"unevaluatedProperties": false
}
]
}
Esempio di risposta
JSON
{
"error": "page must be an integer"
}
08
HTTP 422Risposta di errore (422)
Schema della risposta
JSON
{
"properties": {
"error": {
"description": "Riepilogo di convalida leggibile dall'utente.",
"type": "string"
},
"errors": {
"additionalProperties": {
"items": {
"type": "string"
},
"type": "array"
},
"description": "Messaggi di convalida con chiave per campo della richiesta pubblica, con un array di stringhe leggibili dall'utente per ogni campo.",
"type": "object"
}
},
"required": [
"error",
"errors"
],
"type": "object",
"unevaluatedProperties": false
}
Esempio di risposta
JSON
{
"error": "Validation failed",
"errors": {
"base": [
"Validation failed"
]
}
}
09
Esempio cURL
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"}'