Vai al contenuto
Riferimento API
Riferimento API

Aggiorna una Chiave API

Aggiorna una Chiave API Standard esistente e recupera il riepilogo dell'utilizzo corrente.

Aggiorna una Chiave API Standard esistente e recupera il riepilogo dell’utilizzo corrente.

Endpoint

PATCH /api/v1/keys/:id
URL di base
https://runapi.ai
Versione API
v1
Autenticazione
Authorization: Bearer YOUR_MANAGEMENT_API_KEY
Autorizzazione
Richiede una Chiave API di gestione con ruolo account-admin e consente solo le chiavi di proprietà del suo utente.
02

Richiesta

Corpo JSON

Invia i valori solo nella posizione di richiesta elencata.

Corpo JSON6 campi
allowed_modelsarray | null
Opzionale

Allowlist dei modelli sostitutiva; null o un array vuoto la azzera.

credit_limit_centsinteger | null
Opzionale

Limite di spesa in centesimi USD; null annulla il limite e l'intervallo di reset.

credit_limit_reset_intervalstring | null
Opzionale

Cadenza di reset per il limite di spesa.

Valori consentiti: daily, weekly, monthly
credit_limit_windowsobject
Opzionale

Limiti di spesa progressivi sostitutivi con chiave 1h, 1d o 7d; un oggetto vuoto elimina tutti i limiti progressivi.

enabledboolean
Opzionale

Se le richieste che utilizzano questa chiave vengono accettate.

namestring
Opzionale

Nome descrittivo sostitutivo per la Chiave API.

Parametri del percorso1 campo
idstring
Obbligatorio

ID prefisso della chiave API, ad esempio token_123.

03

Risposta di successo

HTTP 200

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

Risposta di errore (401)

HTTP 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

Risposta di errore (403)

HTTP 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

Risposta di errore (403)

HTTP 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

Risposta di errore (400)

HTTP 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

Risposta di errore (404)

HTTP 404
Schema della risposta
JSON
{
  "properties": {
    "error": {
      "description": "Messaggio di errore leggibile.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Esempio di risposta

JSON
{
  "error": "Resource not found"
}
09

Risposta di errore (422)

HTTP 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"
    ]
  }
}
10

Esempio cURL

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":{}}'