Aller au contenu
Référence API
Référence API

Mettre à jour une clé API

Mettre à jour une clé API Standard existante et récupérer son résumé d'utilisation actuel.

Mettre à jour une clé API Standard existante et récupérer son résumé d’utilisation actuel.

Point de terminaison

PATCH /api/v1/keys/:id
URL de base
https://runapi.ai
Version de l'API
v1
Authentification
Authorization: Bearer YOUR_MANAGEMENT_API_KEY
Autorisation
Nécessite une clé API de gestion d'administrateur de compte et n'autorise que les clés appartenant à son utilisateur.
02

Requête

Corps JSON

Envoyez les valeurs uniquement à l'emplacement de requête indiqué.

Corps JSON6 champs
allowed_modelsarray | null
Optionnel

Liste d'autorisation de modèles de remplacement ; null ou un tableau vide efface la liste.

credit_limit_centsinteger | null
Optionnel

Plafond de dépenses en centimes USD ; null supprime le plafond et l'intervalle de réinitialisation.

credit_limit_reset_intervalstring | null
Optionnel

Cadence de réinitialisation du plafond de dépenses.

Valeurs autorisées: daily, weekly, monthly
credit_limit_windowsobject
Optionnel

Plafonds de dépenses glissants de remplacement indexés par 1h, 1d ou 7d ; un objet vide efface tous les plafonds glissants.

enabledboolean
Optionnel

Indique si les requêtes utilisant cette clé sont acceptées.

namestring
Optionnel

Nom convivial de remplacement pour la clé API.

Paramètres de chemin1 champ
idstring
Requis

Identifiant de préfixe de clé API, par exemple token_123.

03

Réponse de succès

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

Réponse d'erreur (401)

HTTP 401
Schéma de réponse
JSON
{
  "properties": {
    "error": {
      "description": "Message d'erreur lisible par l'humain.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Exemple de réponse

JSON
{
  "error": "Authentication required"
}
05

Réponse d'erreur (403)

HTTP 403
Schéma de réponse
JSON
{
  "properties": {
    "error": {
      "description": "Message d'erreur lisible par l'humain.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Exemple de réponse

JSON
{
  "error": "Management API key required"
}
06

Réponse d'erreur (403)

HTTP 403
Schéma de réponse
JSON
{
  "properties": {
    "error": {
      "description": "Message d'erreur lisible par l'humain.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Exemple de réponse

JSON
{
  "error": "Account admin required"
}
07

Réponse d'erreur (400)

HTTP 400
Schéma de réponse
JSON
{
  "oneOf": [
    {
      "properties": {
        "error": {
          "description": "Message d'erreur lisible par l'humain.",
          "type": "string"
        }
      },
      "required": [
        "error"
      ],
      "type": "object",
      "unevaluatedProperties": false
    },
    {
      "properties": {
        "error": {
          "description": "Résumé de validation lisible par l'humain.",
          "type": "string"
        },
        "errors": {
          "additionalProperties": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "description": "Messages de validation indexés par champ de requête public, avec un tableau de chaînes lisibles par l'humain pour chaque champ.",
          "type": "object"
        }
      },
      "required": [
        "error",
        "errors"
      ],
      "type": "object",
      "unevaluatedProperties": false
    }
  ]
}

Exemple de réponse

JSON
{
  "error": "page must be an integer"
}
08

Réponse d'erreur (404)

HTTP 404
Schéma de réponse
JSON
{
  "properties": {
    "error": {
      "description": "Message d'erreur lisible par l'humain.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Exemple de réponse

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

Réponse d'erreur (422)

HTTP 422
Schéma de réponse
JSON
{
  "properties": {
    "error": {
      "description": "Résumé de validation lisible par l'humain.",
      "type": "string"
    },
    "errors": {
      "additionalProperties": {
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "description": "Messages de validation indexés par champ de requête public, avec un tableau de chaînes lisibles par l'humain pour chaque champ.",
      "type": "object"
    }
  },
  "required": [
    "error",
    "errors"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Exemple de réponse

JSON
{
  "error": "Validation failed",
  "errors": {
    "base": [
      "Validation failed"
    ]
  }
}
10

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