Cuenta y cumplimiento
Comprobar la clave y el estado de la cuenta, y obtener la Declaración Responsable vigente.
Dos endpoints de nivel de cuenta. Uno confirma la clave y el estado de la cuenta; el otro devuelve el documento de cumplimiento vigente. Ninguno se refiere a una factura concreta y ninguno lleva nifEmisor.
| Método | Endpoint | API |
|---|---|---|
GET |
/v1/cuenta |
Facturación: sandbox.veribai.com / api.veribai.com |
GET |
/v1/cumplimiento/declaracion-responsable |
Gestión: manage-api.veribai.com |
GET /v1/cuenta
Confirma que la clave es válida, a qué entorno pertenece y si la facturación de la cuenta está activa. No lleva parámetros: se resuelve a partir de la propia clave.
curl https://sandbox.veribai.com/v1/cuenta \
-H "x-api-key: TU_CLAVE"
import veribai
client = veribai.Client(api_key="TU_CLAVE", environment="test")
respuesta = client.cuenta.obtener()
print(respuesta["entorno"])
const respuesta = await fetch("https://sandbox.veribai.com/v1/cuenta", {
method: "GET",
headers: { "x-api-key": "TU_CLAVE" },
});
if (!respuesta.ok) throw new Error(`VeriBai ${respuesta.status}`);
const datos = await respuesta.json();
{
"entorno": "test",
"plan": "esencial",
"estadoCuenta": "activa",
"facturacionActiva": true,
"nifClientePrincipal": "B00000000",
"consumo": {
"usadas": 312,
"restantes": 19688,
"limite": 20000,
"periodo": "MONTH",
"observadoEn": "2026-08-23T10:04:00Z"
},
"consultadoEn": "2026-08-23T10:12:00Z"
}
| Campo | Notas |
|---|---|
entorno |
test o live. Se deriva de la clave, no de un parámetro. Sirve para detectar una configuración que apunta al entorno equivocado. |
plan |
El plan contratado: sandbox, esencial, plataforma o dedicado. |
estadoCuenta |
activa, prueba, pago_pendiente, suspendida, cancelada o desconocido. |
facturacionActiva |
false cuando la facturación de la cuenta bloquea nuevas altas. Esas llamadas responden 402. |
nifClientePrincipal |
El NIF de tu cuenta, no el del emisor. |
consumo |
Cuota mensual de esta clave: usadas, restantes, limite, periodo y observadoEn. Puede faltar. Ver abajo. |
consultadoEn |
Marca de tiempo del servidor, en ISO 8601 UTC. |
Una clave ausente, inválida o revocada no llega al endpoint: la rechaza antes la pasarela. estadoCuenta: "desconocido" significa que no se pudo leer el estado de facturación. En ese caso, facturacionActiva sigue reflejando lo que responderán los endpoints de emisión.
estadoCuenta: "pago_pendiente" es el plazo de gracia posterior a un pago no liquidado: la emisión sigue activa y facturacionActiva sigue siendo true. Si el pago no se regulariza, el estado pasa a suspendida y las altas responden 402.
Cuota consumida (consumo)
El bloque consumo indica cuánto se ha gastado del cupo mensual de esa clave. La cuota es por clave, no por cuenta: cada clave tiene su propio contador. Rotar no lo reinicia: la clave nueva hereda el consumo de la anterior en el instante de la rotación. Lo que la clave antigua gaste durante el resto del solape no se traslada. Tras una rotación, usadas + restantes puede ser menor que limite.
Dos detalles para el código:
- El bloque puede faltar. Una clave recién creada, o una lectura que no se pudo resolver, devuelven la respuesta sin
consumo, no conrestantes: 0. Comprueba que el campo existe antes de leerlo y trata su ausencia como «todavía no se sabe». observadoEnes la fecha de la lectura. El contador puede ir hasta unos diez minutos por detrás. Sirve para saber cuánto queda y para avisar antes de llegar al tope, no para decidir si la siguiente llamada va a entrar. Eso lo indica el429.
Qué no es este endpoint
- Describe la cuenta, no el servicio: no consulta a la AEAT ni a las haciendas forales y no informa de su disponibilidad.
- Cuenta contra la cuota mensual como cualquier otra llamada con clave API. Úsalo en las comprobaciones de arranque y de integración continua (al desplegar, al rotar una clave, al configurar un entorno nuevo), no en un sondeo periódico. Ver Límites.
facturacionActiva: truecubre la facturación de la cuenta, no la de cada emisor. En LIVE, el alta exige además la representación firmada del emisor; sin ella, la llamada responde403 REPRESENTATION_PENDING. Ese estado se consulta por cliente, en el campoestadoRepresentaciondeGET /v1/clientes/{nif}o enGET /v1/clientes/{nif}/representacion/estado.
GET /v1/cumplimiento/declaracion-responsable
Devuelve la URL de la Declaración Responsable vigente, el documento con el que VeriBai certifica que su sistema informático de facturación cumple el reglamento.
curl https://manage-api.veribai.com/v1/cumplimiento/declaracion-responsable \
-H "x-api-key: TU_CLAVE"
import veribai
client = veribai.Client(api_key="TU_CLAVE", environment="test")
respuesta = client.cumplimiento.declaracion_responsable()
const respuesta = await fetch("https://manage-api.veribai.com/v1/cumplimiento/declaracion-responsable", {
method: "GET",
headers: { "x-api-key": "TU_CLAVE" },
});
if (!respuesta.ok) throw new Error(`VeriBai ${respuesta.status}`);
const datos = await respuesta.json();
{
"url": "https://docshare.veribai.com/compliance/declaracion-responsable.pdf",
"lastModified": "2026-06-20T09:14:22Z"
}
| Campo | Notas |
|---|---|
url |
URL estable del documento vigente, de lectura pública. |
lastModified |
Cuándo se subió la versión actual. Compárala con la que guardaste para detectar una revisión nueva. |
Por qué pedirla en lugar de fijar la URL
Si el documento cambia de ubicación, una URL fija en tu código deja de funcionar. Este endpoint devuelve la URL vigente, un 404 mientras no haya documento y lastModified para detectar cambios.
El endpoint necesita clave; el documento no. La url es de lectura pública: un cliente potencial, un auditor o la propia administración pueden leer la Declaración Responsable sin cuenta en VeriBai. No la sirvas detrás de tu propia autenticación. Puedes enlazarla directamente o cachearla; vuelve a leer lastModified antes de asumir que el contenido no ha cambiado.