Mettre à jour une API Key
PATCH /api/open/v1/keys/:idParamètres de requête
Section intitulée « Paramètres de requête »Seuls les champs présents dans le corps de la requête sont mis à jour ; les champs omis restent inchangés. Au moins un champ modifiable est requis : un corps vide, null ou {} retourne 400.
| Paramètre | Emplacement | Type | Requis | Description |
|---|---|---|---|---|
id | path | integer | Oui | ID de la Key, entier positif |
name | body | string | Non | Nom ; ne doit pas être vide après suppression des espaces, jusqu’à 50 caractères (caractères, pas octets) |
status | body | integer | Non | 1 activer, 2 désactiver ; toute autre valeur retourne 400 (3 / 4 sont définis automatiquement) |
expired_time | body | integer | Non | Date d’expiration, secondes unix ; 0 / -1 signifie sans expiration |
remain_amount | body | number | Non | Montant disponible dans la devise du site, deux décimales ; ne doit pas être négatif ni dépasser le maximum |
unlimited | body | boolean | Non | Indique si la Key est illimitée |
model_limits_enabled | body | boolean | Non | Indique s’il faut activer la liste blanche de modèles |
model_limits | body | string | Non | Modèles autorisés, séparés par des virgules |
allow_ips | body | string | Non | IP autorisées, séparées par des retours à la ligne ; une chaîne vide signifie aucune restriction |
status n’accepte que 1 (activer) ou 2 (désactiver). L’activation exige que la Key soit utilisable après cette mise à jour : non expirée (expired_time vaut -1 ou est dans le futur) et soit illimitée, soit avec remain_amount > 0 ; sinon 400. Vous pouvez envoyer les champs ensemble, par exemple {"status": 1, "expired_time": 1767225600}. La désactivation fonctionne quel que soit l’état actuel, et un status explicite l’emporte toujours sur la récupération automatique.
Exemple de requête
Section intitulée « Exemple de requête »Recharger une Key épuisée (elle redevient automatiquement activée) :
curl -X PATCH https://www.routeapi.ai/api/open/v1/keys/12 \ -H "Authorization: Bearer $ROUTEAPI_MANAGEMENT_KEY" \ -H "Content-Type: application/json" \ -d '{"remain_amount": 20.00}'Prolonger la date d’expiration :
curl -X PATCH https://www.routeapi.ai/api/open/v1/keys/12 \ -H "Authorization: Bearer $ROUTEAPI_MANAGEMENT_KEY" \ -H "Content-Type: application/json" \ -d '{"expired_time": 1767225600}'Désactiver une Key (les requêtes qui l’utilisent sont refusées jusqu’à sa réactivation) :
curl -X PATCH https://www.routeapi.ai/api/open/v1/keys/12 \ -H "Authorization: Bearer $ROUTEAPI_MANAGEMENT_KEY" \ -H "Content-Type: application/json" \ -d '{"status": 2}'Réactiver une Key, en prolongeant l’expiration dans la même requête pour garantir qu’elle soit utilisable :
curl -X PATCH https://www.routeapi.ai/api/open/v1/keys/12 \ -H "Authorization: Bearer $ROUTEAPI_MANAGEMENT_KEY" \ -H "Content-Type: application/json" \ -d '{"status": 1, "expired_time": 1767225600}'Exemple de réponse
Section intitulée « Exemple de réponse »Retourne l’objet Key mis à jour avec une key masquée :
{ "success": true, "message": "", "data": { "id": 12, "name": "bot", "key": "sk-abcd**********wxyz", "status": 1, "created_time": 1729000000, "accessed_time": 1729000000, "expired_time": -1, "remain_amount": 20.00, "unlimited": false, "used_amount": 10.00, "model_limits_enabled": false, "model_limits": "", "allow_ips": "" }}Pour la description des champs, voir Objet Key.
| HTTP | code | Scénario |
|---|---|---|
| 400 | invalid_request | id n’est pas un entier positif, ou le corps n’est pas un JSON valide |
| 400 | invalid_request | Le corps est vide, null, ou ne contient aucun champ modifiable |
| 400 | invalid_request | status n’est ni 1 ni 2 (les états 3 / 4 sont définis automatiquement) |
| 400 | invalid_request | status: 1 envoyé alors que la Key est encore expirée ou épuisée ; prolongez expired_time, rechargez remain_amount ou passez en illimité (champs envoyables dans la même requête) |
| 400 | invalid_request | Le nom dépasse 50 caractères, ou remain_amount est négatif ou dépasse le maximum |
| 400 | invalid_request | expired_time n’est pas dans le futur (et ne vaut ni 0 ni -1), ou dépasse le 9999-12-31 |
| 400 | invalid_request | remain_amount envoyé seul pour une Key illimitée, ou une Key illimitée passée en limitée sans remain_amount |
| 404 | not_found | La Key n’existe pas ou ne vous appartient pas |
Pour les autres codes d’erreur communs, voir Erreurs de l’API de la plateforme.
Remarques
Section intitulée « Remarques »- Envoi de
remain_amountseul : prend effet directement sur une Key limitée ; retourne 400 sur une Key illimitée, pour laquelle vous devez aussi envoyer"unlimited": false. "unlimited": falsesansremain_amount: retourne 400 sur une Key illimitée (pour ne pas remettre le solde à zéro silencieusement) ; une Key déjà limitée conserve son solde actuel.- Une Key expirée (
3) ou épuisée (4) redevient automatiquement activée (1) lorsque la mise à jour la rend de nouveau utilisable (expired_timeprolongé,remain_amountpositif ouunlimited). Cette récupération automatique ne s’applique que sistatusest omis. 2correspond à une désactivation manuelle. Elle ne se rétablit jamais automatiquement ; envoyezstatus: 1pour réactiver. Tant qu’une Key n’est pas à1, les appels de modèles qui l’utilisent sont refusés.- Tous les champs sont validés avant toute écriture : si un champ échoue à la validation, 400 est retourné et aucun champ n’est modifié.
- La mise à jour d’une Key via l’API de la plateforme est enregistrée dans le journal d’audit.