Empezar
Autenticación
Envía tu clave de API como token Bearer o en x-api-key. Las claves son de una organización y pueden tener presupuestos y límites de modelos.
Toda solicitud necesita una clave de API. Envíala en uno de estos dos encabezados:
| Encabezado | Formato |
|---|---|
Authorization | Bearer nh_live_... |
x-api-key | nh_live_... (lo que envían los SDK de Anthropic) |
curl https://api.notholy.com/v1/models -H "x-api-key: $NOTHOLY_API_KEY"Claves
Las claves se crean en la consola, en Claves de API. Cada clave pertenece a una organización y a un espacio de trabajo. El secreto se muestra una sola vez y se guarda únicamente como hash.
Una clave puede tener:
- Un presupuesto total y un presupuesto diario en USD. Una solicitud que superaría el presupuesto recibe
402. - Una lista de modelos permitidos. Los demás modelos reciben
403 key_not_allowed. - Una fecha de vencimiento.
- Un límite de solicitudes por minuto menor que el de la organización.
La revocación de una clave se aplica desde la siguiente solicitud.
Claves en el código
Lee la clave desde el entorno. No la subas al repositorio. Si una clave se filtra, revócala en la consola y crea una nueva.
Nunca pongas una clave en código que corre en el cliente. Llama a la API desde tu servidor o tu terminal y guarda las claves en variables de entorno o en un almacén de secretos.
import os
from openai import OpenAI
client = OpenAI(base_url="https://api.notholy.com/v1", api_key=os.environ["NOTHOLY_API_KEY"])
print([m.id for m in client.models.list()])Errores
| Estado | Código | Significado |
|---|---|---|
| 401 | invalid_api_key | Clave ausente, incorrecta, revocada o vencida |
| 403 | key_not_allowed | La clave no puede usar este modelo |
| 403 | account_suspended | La organización está suspendida. Contacta a soporte |
| 403 | consent_required | Quien creó la clave rechazó o retiró el consentimiento para el procesamiento en Estados Unidos y China. Puede aceptarlo en la consola |