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_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxCrear y revocar llaves
Las llaves se crean y revocan en la app, en Stores → Settings → API keys (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.
| Scope | Permite |
|---|---|
catalog:read | Listar y leer productos y sus descripciones. |
catalog:write | Crear, actualizar y borrar productos (upsert). |
generate | Generar descripciones (sync y por lote), cancelar lotes. |
export | Exportar el catálogo timbrado a CSV. |
credits:read | Consultar el saldo de créditos. |
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.