La API, para automatizar tu cuenta
Qué consigues: leer y cambiar cosas de tu cuenta desde tus propios programas: bajarte las facturas a tu contabilidad, abrir tickets desde tu sistema de incidencias, consultar el estado de tus servicios.
Dos formas de entrar, y no sirven para lo mismo
Con qué |
Para qué parte |
Cuánto dura |
|---|---|---|
Clave de API |
Tus sitios: webs, dominios, DNS, correo, bases de datos, FTP y certificados. |
No caduca hasta que tú la revocas. |
Usuario y contraseña (testigo JWT) |
Facturas, tickets, avisos y tu perfil. |
60 minutos, y hay que renovarlo. |
Si lo que quieres es automatizar tus sitios —una copia de seguridad nocturna, un paso de tu pipeline, un script que crea el sitio de cada cliente nuevo— lo que necesitas es la clave de API. Es lo que empieza aquí abajo.
Important
Para la parte de sitios, el testigo JWT no funciona. No es que esté desaconsejado: devuelve un error de permisos. Usa la clave.
Crear tu clave
En el panel, en . La clave se enseña una sola vez: cópiala en ese momento y guárdala donde guardes tus contraseñas. Si la pierdes, no se recupera — se revoca y se crea otra.
nxp_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Qué puede hacer tu clave
Una clave recién creada sólo lee. Los permisos van por separado porque los riesgos son distintos:
Permiso |
Qué abre |
Cómo se consigue |
|---|---|---|
|
Consultar ( |
Al crear la clave |
|
Crear y cambiar ( |
Pídelo en un ticket |
|
Borrar ( |
Pídelo en un ticket |
Borrar no va dentro de escribir a propósito: crear un sitio de más se arregla borrándolo; borrar el que no era, no.
Si a tu clave le falta el permiso, la respuesta te dice cuál falta. No tienes que adivinarlo probando.
Usarla
Una cabecera, en cada petición:
Authorization: Bearer nxp_tu_clave
O X-API-Key: nxp_tu_clave si tu herramienta no te deja tocar
Authorization.
Un ejemplo entero, listar tus sitios:
curl -H "Authorization: Bearer $HOSTBRID_TOKEN" \
https://my.hostbrid.com/api/sites/v1/sites/
Y crear uno:
curl -X POST \
-H "Authorization: Bearer $HOSTBRID_TOKEN" \
-H "Content-Type: application/json" \
-d '{"domain": "ejemplo.com", "php_version": "8.3"}' \
https://my.hostbrid.com/api/sites/v1/sites/
Tip
Si prefieres no escribir curl, hay una herramienta de línea de
órdenes que hace lo mismo en una línea.
La lista completa de operaciones
Está en https://my.hostbrid.com/api/docs/, y se lee sin cuenta. Cada operación dice el permiso que necesita.
Sólo ves lo tuyo
Todo va acotado a tu cuenta. Pedir por identificador algo de otro cliente devuelve 404, no 403: un 403 confirmaría que ese identificador existe.
Límites
Cada clave tiene su propio límite de peticiones por minuto. Al pasarte, la respuesta es un 429: espera y reintenta. El contador de la API va aparte del de la tienda, así que automatizar copias de seguridad no te deja sin buscador de dominios en la web.
Si crees que la clave se ha filtrado
Revócala en el panel, en la misma pantalla donde la creaste. Deja de valer al instante. Después crea otra: no hay forma de «cambiarle la contraseña» a una clave, y es a propósito.
Facturas, tickets y perfil: eso sigue con usuario y contraseña
Esa parte todavía no acepta la clave. Se pide un testigo:
POST /api/v1/auth/token/
{ "username": "tu-usuario", "password": "tu-contraseña" }
y responde access (60 minutos, el que se usa en cada petición) y
refresh (7 días, el que sirve para pedir otro, en
/api/v1/auth/token/refresh/).
Si tienes la verificación en dos pasos activada, hay que mandar además el
código de seis dígitos en el campo otp, y sólo al pedir el testigo, no en
cada petición.
Important
El testigo de renovación cambia cada vez que lo usas: la respuesta trae uno nuevo y el anterior deja de valer. Guarda siempre el último.
Por eso esta parte no sirve para procesos desatendidos: renovar necesita tu contraseña, y con verificación en dos pasos, un código que un programa no puede teclear. Estamos trabajando en que la clave valga también aquí. Si es lo que necesitas, dínoslo en un ticket: sirve para priorizarlo.
Qué hay en la parte de usuario y contraseña
Filtrado a tu cuenta, como todo: sólo ves lo tuyo.
Para qué |
Dónde |
|---|---|
Resumen de tu cuenta — contadores de todos los módulos de una vez |
|
Facturas — listarlas y leerlas, con número, base, impuestos, total y líneas de detalle |
|
Suscripciones — qué planes tienes y hasta cuándo |
|
Pagos — el histórico |
|
Datos de facturación — tus datos fiscales |
|
Consumo — los registros de uso que se facturan |
|
Tickets — abrirlos, leerlos y responder |
|
Avisos — las notificaciones del panel |
|
Tus claves SSH |
|
Tu perfil |
|
Las facturas son de sólo lectura a propósito: las emite el sistema, y una factura emitida no se borra ni se inventa desde fuera.
Ejemplo con el testigo: bajarse las facturas
En tres pasos:
1. POST /api/v1/auth/token/
{ "username": "…", "password": "…" }
→ guarda "access" y "refresh"
2. GET /billing/api/invoices/
Authorization: Bearer <access>
→ la primera página de facturas
3. GET /billing/api/invoices/?page=2
Authorization: Bearer <access>
→ las siguientes
Las listas vienen paginadas de 20 en 20. La respuesta trae el enlace a la página siguiente; sigue ese enlace hasta que no haya más.
Lo que puedes hacer depende de tu rol
Dentro de una organización hay tres roles, y la API los respeta igual que el panel:
Administrador y miembro — pueden leer y cambiar.
Sólo lectura — pueden leer, y cualquier intento de crear o borrar responde que no tienes permisos suficientes.
Si una petición de escritura te devuelve un error de permisos y crees que no debería, mira primero qué rol tienes en la organización.
Lo que todavía no está listo
Qué |
Estado |
|---|---|
La clave para facturas, tickets y perfil |
Hoy la clave sólo abre la parte de sitios. Esa otra sigue con usuario y contraseña. En curso. |
Despliegue desde git (Projects) y su CLI |
En desarrollo. La herramienta de línea de órdenes que ya existe (La terminal: hostbrid) es para el hosting, no para esto. |
Avisos automáticos hacia tus sistemas (webhooks) |
No disponibles para clientes todavía. |
Problemas frecuentes
- Con la clave, todo me responde que no estoy autenticado
Comprueba que la cabecera dice
Bearer, un espacio, y la clave entera empezando pornxp_. Si sigue, mira en el panel que no la hayas revocado.- Con la clave, los sitios me dan error de permisos y el resto también
Estás usando la clave contra facturas o tickets: ahí todavía no vale. Esa parte va con usuario y contraseña.
- Con el testigo, todo me responde que no estoy autenticado
Casi siempre es que pasaron los 60 minutos. Renueva el testigo. Y si lo estás usando contra
/api/sites/v1/, ahí no funciona: usa la clave.- El refresco me dice que el testigo no vale
Estás reusando uno ya gastado. Cada renovación devuelve uno nuevo: guarda siempre el último. Si lo has perdido, vuelve a pedir el par con usuario y contraseña.
- Pido el testigo y me lo rechaza aunque la contraseña es buena
Tienes la verificación en dos pasos activada y falta el campo
otp.- Me responde que no tengo permisos
O tu rol es de sólo lectura, o estás pidiendo algo de otra organización.
Si te falta algo, dilo
Esta parte está creciendo. Si necesitas un dato o una operación que no está en la tabla, ábrenos un ticket contando qué quieres automatizar. Es la mejor forma de que aparezca aquí.