Historial de uso
GET
/v3/account/usage/history
Lista las tareas completadas con éxito de la API key que realiza la llamada, creadas dentro de una ventana de tiempo, de la más reciente a la más antigua, junto con los créditos que consumió cada una. Pensado para la conciliación automatizada: no devuelve prompts, entradas, resultados ni enlaces de descarga.
- El alcance es la API key que realiza la llamada. Para conciliar varias keys, consulte con cada una.
- Solo se listan las tareas exitosas. Las tareas fallidas, caducadas o rechazadas (normalmente reembolsadas) no se incluyen, por lo que el resultado no puede cotejarse línea por línea con sus registros de facturación.
- El filtro usa la hora de creación de la tarea. Las tareas que siguen en ejecución al consultar aún no son exitosas, así que consulte ventanas que terminaron hace al menos 30 minutos.
- Límite de tasa: 60 solicitudes por minuto por API key. Al superarlo se devuelve
429con la cabeceraRetry-After.
Solicitar parámetros
Encabezados de solicitud
| Parámetro | Tipo | Requerido | Predeterminado | Descripción |
|---|---|---|---|---|
| Authorization | cadena | Sí | — | Bearer {api_key} |
Parámetros de consulta
| Parámetro | Tipo | Requerido | Predeterminado | Descripción |
|---|---|---|---|---|
| start_time | cadena | Sí | — | Inicio de la ventana, inclusivo. RFC 3339 con desplazamiento de zona horaria, p. ej. 2026-10-01T00:00:00Z |
| end_time | cadena | Sí | — | Fin de la ventana, exclusivo. Mismo formato; posterior a start_time y como máximo 31 días después |
| page_size | entero | No | 100 |
Elementos por página, 1–100 |
| cursor | cadena | No | — | next_cursor de la página anterior; omítalo en la primera página. No cambie start_time ni end_time al paginar |
Ejemplo de solicitud
curl
Bash
curl -G https://openapi.tripo3d.ai/v3/account/usage/history \
-H "Authorization: Bearer {api_key}" \
--data-urlencode "start_time=2026-10-01T00:00:00Z" \
--data-urlencode "end_time=2026-11-01T00:00:00Z" \
--data-urlencode "page_size=100"
Python (todas las páginas)
Python
import time
import requests
url = "https://openapi.tripo3d.ai/v3/account/usage/history"
headers = {"Authorization": "Bearer {api_key}"}
params = {
"start_time": "2026-10-01T00:00:00Z",
"end_time": "2026-11-01T00:00:00Z",
"page_size": 100,
}
total = 0.0
while True:
r = requests.get(url, params=params, headers=headers)
if r.status_code in (429, 503):
time.sleep(int(r.headers.get("Retry-After", "5")))
continue
r.raise_for_status()
data = r.json()["data"]
for item in data["items"]:
total += item["credits_consumed"]
if not data["has_more"]:
break
params["cursor"] = data["next_cursor"]
print(f"credits consumed: {total:.2f}")
Respuesta
Respuesta exitosa
JSON
{
"code": 0,
"status": "success",
"data": {
"items": [
{
"task_id": "123e4567-e89b-42d3-a456-426614174000",
"type": "text_to_model",
"model_version": "v3.0-20250812",
"status": "success",
"created_at": "2026-10-31T15:59:58.123456Z",
"completed_at": "2026-10-31T16:01:12.654321Z",
"credits_consumed": 30.00
}
],
"has_more": true,
"next_cursor": "djE6MTc2MTkyNjM5ODEyMzQ1NjoxMjNlNDU2Ny1lODliLTQyZDMtYTQ1Ni00MjY2MTQxNzQwMDA"
}
}
Campos de respuesta
| Parámetro | Tipo | Descripción |
|---|---|---|
| code | entero | Código de estado. 0 indica éxito |
| data.items | matriz | Tareas de esta página, de la más reciente a la más antigua |
| data.items[].task_id | cadena | Identificador de la tarea |
| data.items[].type | cadena | Tipo de tarea, el mismo valor que en la consulta de tareas |
| data.items[].model_version | cadena | Versión de modelo registrada al crear; ausente si el tipo de tarea no tiene |
| data.items[].status | cadena | Siempre success |
| data.items[].created_at | cadena | Hora de creación, ISO 8601 en UTC |
| data.items[].completed_at | cadena | Hora de finalización, ISO 8601 en UTC; ausente si no se registró |
| data.items[].credits_consumed | number | Créditos cobrados, igual que credits_consumed en la consulta de tareas; 0 si no se cobró nada |
| data.has_more | booleano | Si existe otra página |
| data.next_cursor | cadena | Páselo como cursor para obtener la siguiente página; null en la última |
Códigos de error
| Código de estado HTTP | Código de error | Descripción | Recomendación |
|---|---|---|---|
| 400 | 1004 | Parámetro no válido (hora ausente o mal formada, ventana mayor de 31 días, page_size o cursor no válidos) |
Corrija el parámetro indicado en message |
| 429 | 1007 | Límite de tasa superado | Espere Retry-After segundos y reintente |
| 503 | 1008 | No disponible temporalmente | Espere Retry-After segundos y repita la misma solicitud |