Nombre
Consumo
Serie del almacenamiento usado (GB al mes y costo) por día, por mes o por hora.
Método HTTP y ruta
/ api/ v6/ storage/ usagehttps:
Qué pasa al ejecutarlo
- Solo consulta: no cambia datos de tu organización.
- La llamada no se cobra.
Qué hace
Devuelve una serie con lo que usaste en cada periodo, el total del rango y el del rango anterior de la misma duración, para comparar. Por día o por mes, from y to son fechas YYYY-MM-DD (hora de Colombia, to excluido) y el rango es de hasta 400 días; sin ellos, el mes en curso. Por hora, son instantes ISO-8601 (sin zona se leen en hora de Colombia), el rango es de hasta 7 días y el costo de cada punto llega en null: el costo se calcula por día.
byteSeconds es el almacenamiento exacto (bytes por segundos guardados) y llega como texto porque puede pasar del entero más grande que JSON representa sin perder precisión.
Los importes van en micros de la moneda de tu organización (currency, ISO 4217): unidades multiplicadas por 10⁶ (1000000 es 1,00). El almacenamiento se cobra por GB al mes (GB decimal, 10⁹ bytes) según el tiempo que cada archivo estuvo guardado.
Disponibilidad y requisitos previos
- Publicado y disponible en la API v6 de producción.
- Todas las rutas parten de
https:./ / developers. hablame. co - Necesitas una API key de Hablame para llamarlo.
Autenticación y permisos
- Envía tu API key en la cabecera
Authorizationcon el esquema Bearer.
Quién puede llamarlo: Una API key con el servicio storage habilitado.
Límites y consideraciones operativas
Límite de uso: 10 solicitudes por segundo.
- Las seis consultas de Almacenamiento (resumen, consumo, listado, detalle, conservación y tarifa) comparten este cupo por organización: no es un cupo por endpoint.
Parámetros de ruta
Este endpoint no tiene parámetros de ruta.
Parámetros de consulta
| Nombre | Tipo | Descripción y reglas |
|---|---|---|
groupOpcional | string | Cómo se agrupa la serie. Valores permitidos: |
fromOpcional | string | Inicio del rango (incluido). Ejemplo: |
toOpcional | string | Fin del rango (excluido). Ejemplo: |
serviceOpcional | string | Código del servicio que guardó los archivos (el Ejemplo: |
scopeOpcional | string | Código del tipo de archivo dentro del servicio (el Ejemplo: |
Encabezados HTTP
| Nombre | Tipo | Descripción y reglas |
|---|---|---|
AuthorizationObligatorio | string | Tu API key con el esquema Bearer. Ejemplo: |
Cuerpo de la petición
Este endpoint no recibe cuerpo en la petición.
Respuestas satisfactorias
200
Serie de consumo. Los importes del ejemplo son ilustrativos.
{
"success": true,
"data": {
"currency": "COP",
"series": [
{ "period": "2026-10-01", "byteSeconds": "463856467968000", "gbMonths": "0.178957", "costMicro": 178957, "averageBytes": 5368709120 }
],
"total": { "byteSeconds": "463856467968000", "gbMonths": "0.178957", "costMicro": 178957, "averageBytes": 5368709120 },
"comparison": { "previous": { "byteSeconds": "0", "gbMonths": "0.000000", "costMicro": 0, "averageBytes": 0 } }
},
"meta": {
"requestId": "5d0f3a9c7b2e41a8",
"clientIp": "203.0.113.10",
"timestamp": "2026-10-19T15:30:00+00:00",
"responseTimeMs": 12.4
}
}Los valores del ejemplo son ilustrativos.
Campos de la respuesta
| Nombre | Tipo | Descripción y reglas |
|---|---|---|
successSiempre presente | boolean | |
dataSiempre presente | object | |
data.Siempre presente | string | Puede llegar en |
data.Siempre presente | array<object> | |
data.Siempre presente | string | Día ( |
data.Siempre presente | string | |
data.Siempre presente | string | |
data.Siempre presente | integer | Puede llegar en |
data.Siempre presente | integer | Bytes guardados en promedio en el periodo. |
data.Siempre presente | object | |
data.Siempre presente | string | |
data.Siempre presente | string | |
data.Siempre presente | integer | Puede llegar en |
data.Siempre presente | integer | Bytes guardados en promedio en el periodo. |
data.Siempre presente | object | |
data.Siempre presente | object | |
data.Siempre presente | string | |
data.Siempre presente | string | |
data.Siempre presente | integer | Puede llegar en |
data.Siempre presente | integer | Bytes guardados en promedio en el periodo. |
metaSiempre presente | object | Metadatos de la respuesta. |
meta.Siempre presente | string | Identificador único de la solicitud (16 caracteres hexadecimales). Es el mismo de la cabecera Ejemplo: |
meta.Siempre presente | string | IP con la que la API vio tu solicitud. Útil si tu API key solo admite ciertas redes. Ejemplo: |
meta.Siempre presente | string | Fecha y hora en que se construyó la respuesta (ISO 8601 con offset). Formato: |
meta.Siempre presente | number | Tiempo (ms) que tomó procesar la solicitud en el servidor. Ejemplo: |
Códigos de error
Todas las respuestas de error tienen la misma forma: success en false y un objeto error cuyo code dice qué pasó. Aquí están agrupadas por tipo, con los códigos que este endpoint puede devolver.
Forma de una respuesta de error
| Nombre | Tipo | Descripción y reglas |
|---|---|---|
successSiempre presente | boolean | Valor fijo: |
metaSiempre presente | object | Metadatos de la respuesta. |
meta.Siempre presente | string | Identificador único de la solicitud (16 caracteres hexadecimales). Es el mismo de la cabecera Ejemplo: |
meta.Siempre presente | string | IP con la que la API vio tu solicitud. Útil si tu API key solo admite ciertas redes. Ejemplo: |
meta.Siempre presente | string | Fecha y hora en que se construyó la respuesta (ISO 8601 con offset). Formato: |
meta.Siempre presente | number | Tiempo (ms) que tomó procesar la solicitud en el servidor. Ejemplo: |
errorSiempre presente | object | |
error.Siempre presente | string | Identificador estable en UPPER_SNAKE_CASE. Los clientes ramifican sobre este valor. Ejemplo: |
error. | integer | Código numérico legacy v5, solo cuando hay puente. Se omite en los códigos nacidos en v6. Ejemplo: |
error.Siempre presente | string | URL a la documentación del error. Formato: |
error.Siempre presente | string | Texto legible en inglés. Es para el log del desarrollador, no para el usuario final: no lo parsees. |
error.Siempre presente | array<object> | Contexto estructurado (validaciones, recurso afectado). Arreglo vacío cuando no hay contexto extra. |
Autenticación
- 401Credenciales inválidas o faltantes.
No se envió un token Bearer y cada llamada lo requiere.
Mensaje que devuelve la API: Authentication is required. Send your API key as `Authorization: Bearer <token>`.
La clave de API no se reconoce: formato equivocado, revocada o vencida.
Mensaje que devuelve la API: The provided API key is invalid or has expired. Please verify the value sent in the `Authorization: Bearer` header.
Permisos
- 403La API key no tiene el servicio Almacenamiento (
storage), no se puede usar desde la red de la petición, o la organización no está activa.
La clave no tiene permitido el servicio detrás de este endpoint.
Mensaje que devuelve la API: This API key is not authorized to use the requested service.
La clave solo funciona desde ciertas redes y tu IP no está entre ellas.
Mensaje que devuelve la API: This API key cannot be used from this IP address. The address we saw is in `meta.clientIp`: call from one of the networks allowed for the key, or use a key that allows this one.
Tu organización está suspendida o cerrada.
Mensaje que devuelve la API: The organization associated with this API key is not active. Please contact support.
Límites de uso
- 429Se excedió el límite de solicitudes.
Excediste el cupo de tu organización para este endpoint.
Mensaje que devuelve la API: You have exceeded the allowed request rate for this endpoint. Please wait before retrying.
Recurso inexistente
Este endpoint no declara respuestas de este tipo.
Errores internos y disponibilidad
- 503Almacenamiento no responde en este momento. Reintenta tras
Retry-After.
503 genérico: un servicio del que dependemos no responde.
Otras respuestas
Este endpoint no declara respuestas de este tipo.
Consideraciones especiales
Este endpoint no tiene consideraciones especiales.