API pública de facturación

Consulta el saldo de la cuenta, el uso de modelos y los costes desde tus herramientas de facturación

La API pública de facturación permite leer datos de facturación de Atlas Cloud desde scripts, paneles y sistemas financieros.

Base URL: https://api.atlascloud.ai/public/v1

Endpoints

EndpointDescripción
GET /balanceSaldo actual de la cuenta y resumen de créditos
GET /model-usageBuckets diarios de uso de modelos
GET /model-costsBuckets diarios de costes de modelos

Los esquemas completos están en la referencia de la API:

Autenticación

Envía una API Key de Atlas Cloud en el header Authorization:

Authorization: Bearer apikey-...

Crea claves en API Keys. La clave secreta empieza por apikey-.

Algunas respuestas y filtros usan un API Key public ID como ak_.... Este ID puede mostrarse en reportes de facturación, pero no es una credencial.

Permisos

/model-usage y /model-costs usan scope=self por defecto y devuelven el uso atribuido al usuario autenticado, incluidas las API Keys que posee.

Usa scope=account para consultar uso y costes de toda la cuenta. Este scope requiere account-level model billing read permission. /balance siempre usa account scope y requiere account balance read permission.

Los propietarios de cuentas personales pueden leer sus propios datos. En cuentas de equipo, usa un rol Account Admin o Finance.

Consultar Saldo

curl "https://api.atlascloud.ai/public/v1/balance" \
  -H "Authorization: Bearer apikey-..."

Los importes se devuelven como cadenas con seis decimales y moneda:

{
  "value": "125.500000",
  "currency": "usd"
}

Parámetros de Uso y Costes

start_date y end_date son fechas UTC obligatorias en formato YYYY-MM-DD. end_date es exclusivo y el rango máximo es de 180 días.

Parámetros comunes de /model-usage y /model-costs. Omitir group_by[] devuelve totales diarios:

ParámetroDescripción
start_dateFecha UTC de inicio inclusiva en formato YYYY-MM-DD
end_dateFecha UTC de fin exclusiva en formato YYYY-MM-DD; el rango puede cubrir hasta 180 días
scopeself o account; por defecto self
group_by[]Agrupación opcional. Conjuntos compatibles: model_type, model, api_key, o model más api_key; usa group_by[]=model para desglose por modelo
model_types[]Repite con text, image o video
model_ids[]Filtra por IDs de modelo; hasta 100 valores
api_key_ids[]Filtra por public IDs ak_...; hasta 100 valores
limitFilas por página, de 1 a 1000; por defecto 100
pageCursor opaco recibido en next_page

Usa parámetros repetidos para arrays. Los valores separados por comas se rechazan.

Consultar Uso

La respuesta predeterminada devuelve totales diarios de uso.

curl "https://api.atlascloud.ai/public/v1/model-usage?start_date=2026-05-01&end_date=2026-05-08" \
  -H "Authorization: Bearer apikey-..."

Consultar Costes

/model-costs acepta el mismo rango de fechas, scope, filtros, agrupación y paginación que /model-usage. Omitir group_by[] devuelve costes diarios totales.

curl "https://api.atlascloud.ai/public/v1/model-costs?start_date=2026-05-01&end_date=2026-05-08&scope=account&group_by[]=model&group_by[]=api_key" \
  -H "Authorization: Bearer apikey-..."

Paginación

Cuando has_more es true, envía next_page sin cambios como parámetro page. Trata el cursor como opaco y conserva los demás parámetros.

Errores y Límites

Los errores usan un envelope estable:

{
  "error": {
    "type": "invalid_request_error",
    "code": "invalid_date",
    "message": "start_date must be YYYY-MM-DD",
    "param": "start_date"
  },
  "request_id": "req_..."
}

Las respuestas limitadas devuelven 429 rate_limit_error y pueden incluir un header Retry-After.