Facturación
Un saldo prepago: las cuentas conectadas a partir de las gratis se cobran día a día y el uso (API de X, mensajes) según se produce. Se recarga desde el panel.
Ver el saldo
Sección titulada «Ver el saldo»/v1/billingSaldo, cuentas conectadas y lo que cuestan. Con el saldo agotado, conectar más allá de las cuentas gratis, y publicar o enviar desde las cuentas a partir de ellas o de X, responden 402.
Respuesta 200
data
enabledbooleanobligatorioFalse mientras la facturación no está disponible: no se cobra ni se limita nada.
balancenumberobligatorioSaldo prepago en céntimos (hasta tres decimales). Negativo si los cargos lo superaron.
currencystringobligatorioconnectedAccountsintegerobligatoriofreeAccountsintegerobligatoriomonthlyEstimateintegerobligatorioPrecio mensual de las cuentas conectadas ahora, en céntimos. Se cobra día a día.
dailyEstimatenumberobligatorioLo que cuestan hoy esas cuentas, en céntimos (hasta tres decimales).
daysLeftinteger | nullobligatorioDías completos que cubre el saldo a ese coste; null si no hay cargo diario.
linesobject[]obligatoriolines
fromintegerobligatoriotointeger | nullobligatorioaccountsintegerobligatoriounitAmountintegerobligatorioCéntimos por cuenta y mes.
amountintegerobligatorio
canConnectMorebooleanobligatorioSi ahora mismo se puede conectar una cuenta más.
blockedbooleanobligatorioEl saldo se ha agotado: las cuentas a partir de las gratis, y las de X, no pueden publicar ni enviar hasta que se recargue.
cardobjectEl método de pago guardado, para las recargas automáticas.
card
brandstringobligatorioMarca de la tarjeta (
visa,mastercard…) u otro método guardado (link,sepa_debit).last4stringexpMonthintegerexpYearinteger
autoRechargeobjectautoRecharge
enabledbooleanobligatoriothresholdintegerobligatorioRecargar cuando el saldo baje de esto, en céntimos.
amountintegerobligatorioLo que añade cada recarga, en céntimos.
monthlyLimitintegerobligatorioMáximo que añaden las recargas automáticas en un mes natural, en céntimos.
autoRechargeErrorobjectPor qué falló la última recarga automática; se desactivó sola.
autoRechargeError
atstring (date-time)obligatoriomessagestringobligatorio
autoRechargedThisMonthintegerobligatorioLo añadido por recargas automáticas este mes, en céntimos.
topUpobjectobligatorioImportes de recarga permitidos, en céntimos.
topUp
minintegerobligatoriomaxintegerobligatorio
hasPortalbooleanobligatorioSi el portal de facturación (facturas, método de pago) está disponible.
curl "https://api.usecrier.com/v1/billing" \ -H "Authorization: Bearer $CRIER_API_KEY"const res = await fetch('https://api.usecrier.com/v1/billing', { headers: { Authorization: `Bearer ${process.env.CRIER_API_KEY}`, },});const { data } = await res.json();import os, requests
res = requests.get( "https://api.usecrier.com/v1/billing", headers={"Authorization": f"Bearer {os.environ['CRIER_API_KEY']}"},)data = res.json()["data"]Listar los movimientos del saldo
Sección titulada «Listar los movimientos del saldo»/v1/billing/movementsRecargas y cargos, del más reciente al más antiguo.
Parámetros
limitinteger
Respuesta 200
data []
idstringobligatoriokindstringobligatorioamountnumberobligatorioCéntimos (hasta tres decimales): en positivo suma, en negativo descuenta.
atstring (date-time)obligatoriodaystringDía UTC (YYYY-MM-DD) que cubre un cargo.
accountsintegerCuentas por las que se cobró un día.
familystringTipo de uso de un cargo por uso.
curl "https://api.usecrier.com/v1/billing/movements" \ -H "Authorization: Bearer $CRIER_API_KEY"const res = await fetch('https://api.usecrier.com/v1/billing/movements', { headers: { Authorization: `Bearer ${process.env.CRIER_API_KEY}`, },});const { data } = await res.json();import os, requests
res = requests.get( "https://api.usecrier.com/v1/billing/movements", headers={"Authorization": f"Bearer {os.environ['CRIER_API_KEY']}"},)data = res.json()["data"]Añadir saldo
Sección titulada «Añadir saldo»/v1/billing/top-upSolo desde el panelAbre una página de pago. El saldo sube cuando el pago se completa, y la tarjeta queda guardada para las recargas automáticas.
Cuerpo
amountintegerobligatorioSaldo que añadir, en céntimos (impuestos aparte, si los hay). Los límites vienen en GET /v1/billing.
successUrlstring (uri)obligatorioPágina del panel a la que volver tras pagar.
cancelUrlstring (uri)obligatorioPágina del panel a la que volver si el usuario sale de Checkout.
Respuesta 200
data
urlstring (uri)obligatorioManda aquí al usuario.
curl -X POST "https://api.usecrier.com/v1/billing/top-up" \ -H "Authorization: Bearer $CRIER_API_KEY"const res = await fetch('https://api.usecrier.com/v1/billing/top-up', { method: 'POST', headers: { Authorization: `Bearer ${process.env.CRIER_API_KEY}`, },});const { data } = await res.json();import os, requests
res = requests.post( "https://api.usecrier.com/v1/billing/top-up", headers={"Authorization": f"Bearer {os.environ['CRIER_API_KEY']}"},)data = res.json()["data"]Configurar la recarga automática
Sección titulada «Configurar la recarga automática»/v1/billing/auto-rechargeSolo desde el panelRecarga la tarjeta guardada cuando el saldo baja del umbral, hasta un máximo al mes. Necesita una recarga previa.
Cuerpo
enabledbooleanobligatoriothresholdintegerobligatorioRecargar cuando el saldo baje de esto, en céntimos.
amountintegerobligatorioLo que añade cada recarga, en céntimos.
monthlyLimitintegerobligatorioMáximo que pueden añadir las recargas automáticas en un mes natural, en céntimos.
Respuesta 200
data
enabledbooleanobligatorioFalse mientras la facturación no está disponible: no se cobra ni se limita nada.
balancenumberobligatorioSaldo prepago en céntimos (hasta tres decimales). Negativo si los cargos lo superaron.
currencystringobligatorioconnectedAccountsintegerobligatoriofreeAccountsintegerobligatoriomonthlyEstimateintegerobligatorioPrecio mensual de las cuentas conectadas ahora, en céntimos. Se cobra día a día.
dailyEstimatenumberobligatorioLo que cuestan hoy esas cuentas, en céntimos (hasta tres decimales).
daysLeftinteger | nullobligatorioDías completos que cubre el saldo a ese coste; null si no hay cargo diario.
linesobject[]obligatoriolines
fromintegerobligatoriotointeger | nullobligatorioaccountsintegerobligatoriounitAmountintegerobligatorioCéntimos por cuenta y mes.
amountintegerobligatorio
canConnectMorebooleanobligatorioSi ahora mismo se puede conectar una cuenta más.
blockedbooleanobligatorioEl saldo se ha agotado: las cuentas a partir de las gratis, y las de X, no pueden publicar ni enviar hasta que se recargue.
cardobjectEl método de pago guardado, para las recargas automáticas.
card
brandstringobligatorioMarca de la tarjeta (
visa,mastercard…) u otro método guardado (link,sepa_debit).last4stringexpMonthintegerexpYearinteger
autoRechargeobjectautoRecharge
enabledbooleanobligatoriothresholdintegerobligatorioRecargar cuando el saldo baje de esto, en céntimos.
amountintegerobligatorioLo que añade cada recarga, en céntimos.
monthlyLimitintegerobligatorioMáximo que añaden las recargas automáticas en un mes natural, en céntimos.
autoRechargeErrorobjectPor qué falló la última recarga automática; se desactivó sola.
autoRechargeError
atstring (date-time)obligatoriomessagestringobligatorio
autoRechargedThisMonthintegerobligatorioLo añadido por recargas automáticas este mes, en céntimos.
topUpobjectobligatorioImportes de recarga permitidos, en céntimos.
topUp
minintegerobligatoriomaxintegerobligatorio
hasPortalbooleanobligatorioSi el portal de facturación (facturas, método de pago) está disponible.
curl -X PUT "https://api.usecrier.com/v1/billing/auto-recharge" \ -H "Authorization: Bearer $CRIER_API_KEY"const res = await fetch('https://api.usecrier.com/v1/billing/auto-recharge', { method: 'PUT', headers: { Authorization: `Bearer ${process.env.CRIER_API_KEY}`, },});const { data } = await res.json();import os, requests
res = requests.put( "https://api.usecrier.com/v1/billing/auto-recharge", headers={"Authorization": f"Bearer {os.environ['CRIER_API_KEY']}"},)data = res.json()["data"]Abrir el portal de facturación
Sección titulada «Abrir el portal de facturación»/v1/billing/portalSolo desde el panelFacturas y método de pago guardado.
Cuerpo
returnUrlstring (uri)obligatorioPágina del panel a la que volver.
Respuesta 200
data
urlstring (uri)obligatorioManda aquí al usuario.
curl -X POST "https://api.usecrier.com/v1/billing/portal" \ -H "Authorization: Bearer $CRIER_API_KEY"const res = await fetch('https://api.usecrier.com/v1/billing/portal', { method: 'POST', headers: { Authorization: `Bearer ${process.env.CRIER_API_KEY}`, },});const { data } = await res.json();import os, requests
res = requests.post( "https://api.usecrier.com/v1/billing/portal", headers={"Authorization": f"Bearer {os.environ['CRIER_API_KEY']}"},)data = res.json()["data"]© 2026 Crier by TWOFACES ·usecrier.com ·Panel ·soporte@twofacesco.com