Organizaciones, miembros y keys
Todo en Zabio pertenece a una organización: créditos, API keys, miembros, proyectos, conversaciones guardadas y uso. Las organizaciones pertenecen a una cuenta. Una persona puede pertenecer a varias organizaciones. La aplicación web y la CLI zabio gestionan todo esto; las API keys solo hablan con /v1.
Tu cuenta
Section titled “Tu cuenta”Al registrarte obtienes tu cuenta y su primera organización, llamada Organización predeterminada, que puedes renombrar en Ajustes. Eres el propietario de tu cuenta y de las organizaciones que contiene. Solo el propietario de la cuenta crea organizaciones y proyectos.
Las personas que invitas pertenecen solo a las organizaciones a las que las invitas. No tienen cuenta propia, no pueden crear organizaciones ni reciben una organización propia; quien fue invitado y quiere su propia cuenta se registra con otra dirección de email. Quien fue invitado y después no pertenece a ninguna organización ni tiene invitaciones pendientes (nunca se unió, se fue o la organización se cerró) recibe su propia cuenta y su Organización predeterminada la próxima vez que inicia sesión, tras las mismas comprobaciones que cualquier registro. Una persona que tiene cuenta también puede ser invitada a la organización de otra persona.
Organizaciones
Section titled “Organizaciones”Una organización tiene un nombre, un slug para la URL, una región (EE. UU. en el lanzamiento), un idioma por defecto para los emails (en o es) y ajustes. Crear una requiere una dirección de email verificada y una cuenta propia. Quien la crea es su propietario. Transferir una organización a otro propietario la mueve a su cuenta, así que el nuevo propietario necesita una cuenta propia.
Los saldos son por organización, y el plan Free es una organización por persona, así que antes de crear una segunda organización el diálogo te sugiere primero un proyecto: un proyecto comparte el saldo de la organización y tiene sus propias keys y límites de gasto, mientras que una organización nueva tiene su propio saldo y su propia facturación. Si aun así la creas, puedes mover crédito pagado a ella desde una organización que te pertenezca; consulta Facturación.
Borrar una organización (solo el propietario) la cierra: las API keys dejan de funcionar de inmediato, las conversaciones guardadas y los cuerpos de llamadas registrados se borran, y la clave de cifrado que los protegía se destruye 30 días después. Consulta Privacidad.
Miembros y roles
Section titled “Miembros y roles”| Acción | owner | admin | member |
|---|---|---|---|
| ver la organización, miembros, keys, proyectos, uso, modelos, facturación | sí | sí | sí |
| crear API keys; cambiar y revocar sus propias keys | sí | sí | sí |
| cambiar y revocar keys de otras personas; mover una key a otro proyecto; renombrar y archivar proyectos; editar el nombre y el idioma de la organización | sí | sí | no |
| crear proyectos | sí | no | no |
| invitar y eliminar miembros, asignar el rol admin o member, fijar cuotas de miembro, leer el registro de auditoría | sí | sí | no |
| añadir o eliminar keys de proveedor; añadir créditos; borrar conversaciones guardadas desde la aplicación web | sí | sí | no |
| transferir la propiedad, cambiar o eliminar a un propietario, borrar la organización | sí | no | no |
Una organización siempre tiene al menos un propietario. Transferir la propiedad convierte al propietario anterior en administrador.
Invitaciones
Section titled “Invitaciones”Los propietarios y administradores invitan por email, eligiendo la organización, el rol (admin o member), una cuota mensual opcional y, para un miembro, si quieren, los proyectos en los que trabaja (consulta Proyectos). La persona invitada recibe un enlace en el idioma por defecto de la organización. La invitación se acepta con la sesión iniciada con la misma dirección de email a la que se envió. Invitar de nuevo a la misma dirección envía un enlace nuevo.
Cuotas de miembro
Section titled “Cuotas de miembro”Cada miembro puede tener una cuota mensual en USD. Se aplica a la suma del gasto de todas las API keys que ese miembro creó, en el mes de calendario, en UTC. Cuando se alcanza, las llamadas con esas keys devuelven 429 quota_exceeded con x-zabio-quota-scope: member. Las cuotas y el gasto por miembro los ven los propietarios y administradores.
Proyectos
Section titled “Proyectos”Los proyectos son una agrupación opcional de API keys, para poder leer el uso por proyecto. Un proyecto tiene un nombre y un slug. Archivar un proyecto lo oculta; sus keys siguen funcionando y conservan su proyecto.
El menú de proyectos junto al de organizaciones muestra un proyecto o todos. Las páginas muestran las keys, las llamadas, el uso y las conversaciones del proyecto elegido ahí, y una key nueva se crea en ese proyecto, o a nivel de la organización con “Todos los proyectos”.
Un miembro puede quedar limitado a uno o varios proyectos, al invitarlo o después desde Miembros. Un miembro limitado a proyectos solo ve las keys, las llamadas, el uso y las conversaciones de esos proyectos (una llamada y su gasto cuentan en el proyecto en el que ocurrieron, aunque la key cambie después), y solo crea keys en ellos; no ve las keys a nivel de la organización. Los propietarios y los administradores siempre ven toda la organización. Zabio lo aplica en cada petición, no solo en la aplicación web.
En la API, una key que pertenece a un proyecto solo lee y cambia las conversaciones, respuestas, archivos y lotes creados con keys de ese proyecto; una key a nivel de la organización lee toda la organización. Lo que queda fuera responde 404, como si no existiera.
API keys
Section titled “API keys”Una key es zb_live_ seguido de 43 letras y dígitos aleatorios. Se muestra una sola vez al crearla; Zabio guarda solo un hash y los primeros 8 caracteres tras el prefijo, que el panel muestra para que distingas las keys. Cualquier miembro puede crear una key; se requiere un email verificado.
| Ajuste | Por defecto | Rango | Efecto |
|---|---|---|---|
name |
obligatorio | una etiqueta | |
project_id |
ninguno | el proyecto al que pertenece la key | |
scopes |
chat, embeddings, conversations |
subconjunto de los tres | qué endpoints puede llamar la key, se cambian en el panel de edición de la key; una llamada fuera de los scopes devuelve 403 insufficient_scope |
rpm_limit |
600 | de 1 a 100,000 | peticiones por minuto |
tpm_limit |
200,000 | de 1 a 100,000,000 | tokens por minuto; se cobra con una estimación al admitir y se devuelve tras la llamada |
expires_at |
nunca | un momento futuro | cuándo deja de funcionar la key: nunca, en 7, 30 o 90 días, o en una fecha (a las 00:00 UTC de ese día). Desde entonces las llamadas se rechazan con 401 key_expired y la key aparece como Caducada; quien la creó (el propietario, si quien la creó ya no está) recibe un correo 7 días antes. Una nueva caducidad vuelve a activar una key caducada |
spend_limit_micros |
ninguno | 0 o más | límite de gasto en micros; 429 quota_exceeded al alcanzarlo, con la fecha en que se reinicia. La cuota mensual de miembro de quien la creó se aplica además |
spend_reset |
monthly |
never, daily, weekly, monthly |
cuándo vuelve a empezar el límite de gasto, a las 00:00 UTC (las semanas desde el lunes); never es un presupuesto para toda la vida de la key |
model_access |
todo lo que permiten los niveles superiores | proveedores y modelos | el nivel propio de la key en el acceso a modelos (consulta Acceso a modelos) |
fallback_policy |
same_vendor |
same_vendor, cross_vendor, none |
valor por defecto de zabio.fallback en modelos explícitos |
body_logging |
desactivado | activado o desactivado | guardar los cuerpos de petición y respuesta de las llamadas de chat completions y embeddings, cifrados, durante el periodo de retención |
Al crear una key en la aplicación web se piden su nombre, su caducidad y su límite de gasto; los demás ajustes empiezan con su valor por defecto y se cambian en el panel de edición de la key, que también tiene sus modelos. La caché de prompt no es un ajuste de la key: es automática en cada llamada, y una llamada la desactiva con zabio.cache.ttl none (consulta cache.ttl). Cada cambio se aplica en la siguiente llamada. Revocar una key es inmediato e idempotente; la key sigue apareciendo como revocada.
Los miembros pueden cambiar y revocar las keys que crearon. Los propietarios y administradores pueden cambiar y revocar todas las keys.
Registro de cuerpos
Section titled “Registro de cuerpos”Chat completions y embeddings no guardan nada por defecto. Con body_logging activado, la petición y la respuesta de cada llamada se guardan cifradas bajo la clave de datos de la organización y se conservan durante el periodo de retención de la organización. Los propietarios y administradores pueden leer un cuerpo guardado desde la lista de llamadas del panel; cada lectura se anota en el registro de auditoría. Los cuerpos nunca aparecen en las exportaciones de uso ni en los emails.
Acceso a modelos
Section titled “Acceso a modelos”El acceso a modelos tiene cuatro niveles: tu cuenta, la organización, un proyecto y una key. Cada nivel limita el de arriba, y una llamada solo puede usar lo que permiten todos los niveles; auto elige solo entre esos modelos. Por defecto cada nivel permite todo lo que permite el nivel superior, incluidos los modelos que se añadan más adelante.
En cada nivel, el mismo selector muestra los modelos agrupados por proveedor, con filtros de proveedores, de capacidades y una búsqueda. El interruptor de un proveedor permite todos sus modelos, también los que añada más adelante; la casilla de un modelo permite exactamente ese modelo. Las líneas auto (auto, auto/best, auto/balanced, auto/cheap) tienen sus propias casillas arriba: si están desmarcadas, las llamadas a esa línea se rechazan. Cuando un nivel superior desactiva un modelo, un nivel inferior conserva su marca: el modelo aparece desactivado en ese nivel y no cuenta, y vuelve cuando el nivel superior lo activa de nuevo.
- Cuenta: el propietario de la cuenta, en la página Cuenta.
- Organización: propietarios y administradores, en la página Modelos.
- Proyecto: propietarios y administradores, con Modelos en la página Proyectos.
- Key: quien puede editar la key, con Modelos en la página de claves API.
Un modelo que un nivel rechaza devuelve 404 model_not_found y auto nunca lo elige; GET /v1/models solo lista lo que permiten todos los niveles para la key. Un nivel que permite una línea auto debe dejarle al menos un modelo que elegir. Un cambio en la cuenta, la organización o un proyecto que dejaría a un proyecto o una key de debajo sin ningún modelo para auto no se rechaza, pero el selector nombra los proyectos y keys afectados y pregunta antes de guardar; sus llamadas a auto responden entonces 400 no_model_allowed, con el nivel que hay que revisar.
Retención
Section titled “Retención”Página Ajustes, propietarios y administradores: la retención por defecto de las conversaciones guardadas y de los cuerpos registrados, de 1 a 365 días (30 por defecto). Una conversación puede fijar su propia retención al crearse. Consulta Responses API y Privacidad.
Uso y llamadas
Section titled “Uso y llamadas”El panel muestra gasto, coste del proveedor, ahorro, llamadas, tokens y latencia de un periodo, por modelo, por key y por miembro, con una serie diaria. La lista de llamadas muestra los metadatos de cada llamada (hora, key, modelos, tokens, coste, resultado, latencia) y se puede exportar en CSV. El uso también está disponible en la CLI con zabio usage.
Registro de auditoría
Section titled “Registro de auditoría”Los propietarios y administradores pueden leer el registro de auditoría de la organización: quién creó, cambió o revocó una key, invitó o eliminó a un miembro, cambió un rol o una cuota, añadió créditos, añadió o eliminó una key de proveedor, borró una conversación, leyó un cuerpo registrado, y así sucesivamente. Cada evento lleva el actor, el objetivo, la hora y el id de petición. Los eventos de auditoría nunca contienen prompts, respuestas ni secretos.
Inicio de sesión
Section titled “Inicio de sesión”Email y contraseña (12 caracteres o más), Google, o un enlace mágico enviado por email. Hace falta verificar el email antes de crear una API key o una organización. Las sesiones se pueden listar y cerrar desde Ajustes. La CLI inicia sesión con un código de dispositivo y recibe un token personal (zbu_...) que puedes listar y revocar en Ajustes, tokens.