Claves de administración

Con una clave de administración gestionas un espacio de trabajo desde tu propio código. Crea y limita las claves de inferencia que usan tus clientes o dispositivos, y lee el uso, los registros y la configuración. No puede llamar a ningún modelo.

⚠

Una clave de administración puede hacer en todo el espacio de trabajo lo que permitan sus ámbitos. Guárdala en tus servidores, dale solo los ámbitos que necesite para su tarea y restríngela a las direcciones IP de tus servidores.

Crear una clave de administración

  1. En la consola, abre Claves API › Claves de administración y elige Crear clave de administración. Pueden hacerlo los administradores y el propietario del espacio de trabajo.
  2. Elige a quién pertenece la clave y qué ámbitos tiene.
  3. Copia la clave. Empieza por sk-syn-admin- y solo se muestra una vez.

Ámbitos

Cada ámbito da acceso a una parte de la API de gestión. Un ámbito de escritura incluye el de lectura correspondiente. Si la clave no tiene el ámbito que pide una solicitud, la respuesta es 403 insufficient_scope.

ÁmbitoA qué da accesoEndpoints
keys.read
keys.write
Las claves de inferencia y sus límites /api/v1/keys
billing.read Uso, coste y saldo del espacio de trabajo /api/v1/billing/*
logs.read Solicitudes, trazas y sesiones. Nunca los prompts ni las respuestas. /api/v1/requests
/api/v1/traces
/api/v1/sessions
usage.read Totales de uso por etiqueta /api/v1/usage/labels
prompts.read
prompts.write
La biblioteca de prompts: prompts, versiones y etiquetas /api/v1/prompts
evals.read
evals.write
Conjuntos de pruebas y ejecuciones de evaluación /api/v1/prompts/{id}/test-sets
/api/v1/prompts/{id}/eval-runs
audit.read El registro de auditoría /api/v1/audit-logs
members.read Miembros e invitaciones /api/v1/members
/api/v1/invites
byok.read Los ajustes de BYOK. Nunca las claves de los proveedores. /api/v1/byok
exports.read Los destinos de exportación, sin sus credenciales /api/v1/export-destinations

A quién pertenece una clave

  • A ti. La clave se desactiva si sales del espacio de trabajo. Si sigues en él pero dejas de ser administrador, las solicitudes devuelven 403 key_creator_not_authorized.
  • Al espacio de trabajo. La clave sigue funcionando aunque quien la creó se vaya o cambie de rol. Úsala para CI e integraciones. Si quien la creó se va, la clave pasa al propietario del espacio de trabajo junto con las claves de inferencia que creó, y todas siguen funcionando.

Lo eliges al crear la clave. Después no se puede cambiar.

Autenticación

Envía la clave como token Bearer. Una clave de administración solo sirve en la API de gestión: los endpoints de modelos bajo /v1/ la rechazan, y la API de gestión rechaza una clave de inferencia (sk-syn-) con 401 wrong_key_kind.

Authorization: Bearer sk-syn-admin-...

Crear una clave de inferencia

POST /api/v1/keys

ParámetroTipoDescripción
name*stringAparece en la consola y en el uso. Obligatorio.
limit_usdnumberLímite de gasto en dólares estadounidenses. Omítelo para no poner límite, salvo que el miembro en cuyo nombre actúa tu clave de administración tenga un límite diario en este espacio de trabajo. En ese caso el límite es obligatorio, no puede superar el suyo y limit_reset debe ser daily.
limit_resetstringCuándo vuelve a cero el gasto: nunca, cada día, cada semana o cada mes.
allowed_modelsstring[]Los modelos a los que puede llamar la clave. Vacío significa todos o, si el miembro en cuyo nombre actúa tu clave de administración solo puede usar algunos modelos, esos. Un modelo fuera de su lista se rechaza.
ip_allowliststring[]Direcciones IP o rangos CIDR desde los que se puede usar la clave. Vacío significa cualquiera.
expires_atstringCuándo deja de funcionar la clave, como fecha y hora en formato RFC 3339.
include_byok_in_limitbooleanSi las solicitudes que se ejecutan con tus propias claves de proveedor cuentan para el límite. Activado por defecto.
rate_limitobjectLos límites por minuto propios de la clave: solicitudes (rpm) y tokens (tpm). 0 significa sin límite.
metadataobjectTus propias etiquetas para la clave, como el id de un tenant o de un dispositivo. La lista se puede filtrar por ellas.
curl https://synthorai.io/api/v1/keys \
  -H "Authorization: Bearer sk-syn-admin-..." \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: device-abc-123" \
  -d '{
    "name": "Device abc-123",
    "limit_usd": 5.0,
    "limit_reset": "monthly",
    "allowed_models": ["claude-haiku-4-5"],
    "metadata": { "tenant_id": "acme", "device_id": "abc-123" }
  }'

La respuesta incluye la clave completa en key, una sola vez. Guárdala en ese momento: las lecturas posteriores solo devuelven key_prefix.

{
  "data": {
    "id": 42,
    "key": "sk-syn-d4f0...e91b",
    "key_prefix": "sk-syn-d4f0...",
    "name": "Device abc-123",
    "enabled": true,
    "status": "enabled",
    "limit_usd": 5.0,
    "used_usd": 0,
    "limit_reset": "monthly",
    "allowed_models": ["claude-haiku-4-5"],
    "ip_allowlist": [],
    "expires_at": null,
    "include_byok_in_limit": true,
    "rate_limit": { "rpm": 0, "tpm": 0 },
    "metadata": { "tenant_id": "acme", "device_id": "abc-123" },
    "created_via": "provisioning_api",
    "created_at": "2026-10-01T12:00:00Z"
  },
  "meta": { "request_id": "01a1..." }
}

Para reintentar una creación sin riesgo, envía una cabecera Idempotency-Key. Si repites la solicitud con el mismo valor, recibes la primera respuesta, sin el secreto. La clave devuelve esa respuesta durante 24 horas, aunque el recurso se haya eliminado entretanto: para volver a crearlo, usa una clave nueva.

Listar y filtrar claves

GET /api/v1/keys

Filtra por cualquier campo de los metadatos con ?metadata.<name>=<value>. Los resultados llegan paginados: pasa meta.next_cursor como cursor para obtener la página siguiente.

# all keys
curl https://synthorai.io/api/v1/keys \
  -H "Authorization: Bearer sk-syn-admin-..."

# only keys tagged tenant_id=acme, 50 at a time
curl "https://synthorai.io/api/v1/keys?metadata.tenant_id=acme&limit=50" \
  -H "Authorization: Bearer sk-syn-admin-..."

Leer, cambiar, rotar y eliminar

  • GET /api/v1/keys/{id} devuelve una clave.
  • PATCH /api/v1/keys/{id} cambia solo los campos que envíes. "enabled": false detiene la clave sin eliminarla.
  • POST /api/v1/keys/{id}/rotate da a la clave un secreto nuevo. El anterior deja de funcionar al instante.
  • DELETE /api/v1/keys/{id} elimina la clave. Las solicitudes que la usen devuelven 401 al instante.
# stop a key without deleting it
curl -X PATCH https://synthorai.io/api/v1/keys/42 \
  -H "Authorization: Bearer sk-syn-admin-..." \
  -H "Content-Type: application/json" \
  -d '{ "enabled": false }'

# give it a new secret
curl -X POST https://synthorai.io/api/v1/keys/42/rotate \
  -H "Authorization: Bearer sk-syn-admin-..."

# delete it
curl -X DELETE https://synthorai.io/api/v1/keys/42 \
  -H "Authorization: Bearer sk-syn-admin-..."

Una clave de administración actúa en nombre de un solo miembro: quien la creó o, si la clave es del espacio de trabajo y quien la creó se ha ido, el propietario. Solo puede cambiar, rotar y eliminar las claves de ese miembro, incluidas las que creó ella misma; con la clave de otro miembro, la respuesta es 403 not_key_creator, aunque uses la clave de administración del propietario. En una instancia dedicada, cualquier clave de administración del espacio de trabajo puede gestionar las claves de todos los miembros, igual que los administradores en la consola. Si un administrador desactivó una clave, solo un administrador puede volver a activarla; cualquier otra persona recibe 403 disabled_by_admin.

Límites y gasto

limit_usd es lo que la clave puede gastar y used_usd, lo que lleva gastado. Al llegar al límite, status pasa a limit_reached y las solicitudes se rechazan hasta que subas el límite o se reinicie el periodo.

✓

Pon tu propio id de cliente o de dispositivo en metadata y filtra la lista por él para ver las claves de ese cliente y lo que ha gastado cada una.

¿Tienes que calcular el límite de gasto de cada clave? La calculadora de costes de API de LLM convierte el volumen de tokens que esperas de un cliente en una cifra mensual que puedes poner en limit_usd.

Errores

Los errores llegan en el formato de la API de gestión: error.code indica el motivo y error.message, qué hacer. En /api/provisioning/keys, el mismo código llega en error.type. Estos son los códigos propios de las claves de administración y de los endpoints de claves:

CódigoEstado HTTPSignificado
key_creator_not_authorized403Quien creó la clave de administración ya no es administrador ni propietario.
key_owner_not_member403El miembro en cuyo nombre actúa la clave ya no está en el espacio de trabajo.
not_key_creator403La clave que quieres cambiar, rotar o eliminar es de otro miembro.
disabled_by_admin403Un administrador desactivó la clave. Solo un administrador puede volver a activarla.
key_policy_refused400La clave superaría los límites del miembro para quien es: su límite diario, sus modelos o los rangos de IP que permite el espacio de trabajo. El mensaje indica cuál.
key_policy_unavailable503No se pudieron leer esos límites. Vuelve a intentarlo en unos segundos.

Claves de aprovisionamiento y /api/provisioning

Las claves emitidas antes de que existieran las claves de administración (sk-syn-prov-) siguen funcionando, con los ámbitos keys.read y keys.write. La dirección anterior, /api/provisioning/keys, sigue disponible con sus propios nombres de campo (quota, status). Para integraciones nuevas, usa /api/v1/keys.

La API de gestión cubre también la facturación, el registro de solicitudes, los prompts y la configuración del espacio de trabajo. Consulta la descripción general de la API y el documento OpenAPI.