bruxel.ai

Autenticación

Cada request a la API lleva una API key del tenant como Bearer token.

El header Bearer

Incluye tu llave en el header Authorization de cada llamada:

Authorization: Bearer bxk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Crear y revocar llaves

Las llaves se crean y revocan en la app, en Cuenta → Avanzado → Llaves API (rol admin/owner). La llave (bxk_…, 256 bits) se muestra una sola vez al crearla: guárdala en un lugar seguro. En reposo Bruxel solo guarda su hash; si la pierdes, revócala y crea otra. Cada llave tiene scopes (permisos) y, opcionalmente, una fecha de expiración.

Scopes

Cada llave lleva un subconjunto de estos permisos. Sin el scope requerido, la API responde 403.

ScopePermite
catalog:readListar y leer productos y sus descripciones.
catalog:writeCrear, actualizar y borrar productos (upsert).
generateGenerar descripciones (sync y por lote), cancelar lotes.
exportExportar el catálogo timbrado a CSV.
credits:readConsultar el saldo de créditos.
channels:readListar los canales configurados y sus columnas.
attributes:readLeer las definiciones de atributos y los valores de un producto.
attributes:writeEscribir los valores de atributo de un producto.
media:readLeer las imágenes de un producto y sus derivados.
media:writeSubir archivos a la biblioteca (reservar cuota, POST firmado a S3 y confirmar por firma binaria) y vincularlos a un producto con su rol. Gasta la cuota de espacio de la organización.
media:generateGenerar imágenes de producto con IA (fotos con modelo y foto principal), leer sus sesiones y los modelos sintéticos.
content:managePublicar, aprobar y des-publicar fichas. Mueve el puntero de publicación: lo que sirven las descripciones, los exports y tu tienda. Se ofrece pero no se concede por default.
events:writeReportar a Bruxel lo que pasó afuera (SAP, el almacén, la tienda) con POST /v1/events. Mueve el recorrido de los flujos.
reports:readLeer los reportes de la organización (catálogo con conteos, filas en JSON y el CSV completo) para tu BI. Incluye dinero, personas y la bitácora.

Errores de autenticación

Una llave inexistente, revocada o expirada devuelven el mismo cuerpo genérico a propósito (no se distingue una de otra):

{ "detail": "api key inválida" }
Un header ausente o que no empieza con bxk_ también da 401, con un mensaje distinto. Detecta un fallo de auth por el código 401, no por el texto.
Autenticación — Bruxel