---
title: "Generar parte de reporte"
method: POST
path: "/reports/{entity}/generate-part"
tags: ["Reports"]
---

# Generar parte de reporte

`POST /reports/{entity}/generate-part`

## Request

- Base URL: `https://api.trytoku.com`
- URL: `https://api.trytoku.com/reports/{entity}/generate-part`
- Auth: API key in header `x-api-key`

Genera una de las partes en que se divide un reporte grande y la exporta a un archivo Excel.

Transforma los bloques asignados a la parte y deja el archivo resultante en almacenamiento; la respuesta indica dónde quedó y cuántas filas aportó cada hoja.

Responde `422` cuando la parte no produjo datos: es un resultado determinista, así que reintentarla no cambia nada y conviene continuar con las partes restantes.

## Path parameters

- `entity` 'bank_account_verification' | 'billing' | 'campaign' | 'card_verification' | 'customer' | 'customer_portal_event' | 'interaction_event' | 'invoice' | 'message' | 'payment' | 'payment_v2' | 'payment_intent' | 'payment_method' | 'payout' | 'payout_v2' | 'subscription' | 'ticket' | 'payment_method_inscription_intent' | 'pac_inscription_intent' | 'payout_additional' | 'campaign_customer' | 'campaign_invoice' | 'transfer_cl_activation' | 'electronic_signature_document' | 'chargeback' | 'chargeback_v2' | 'temporary_collection_file' | 'recipient_verification' | 'conversations_ai_agent' | 'forum_notification' | 'payout_disbursement' | 'beneficiary_account' | 'payout_batch' | 'reconciliation', required: Conjunto de datos que se exporta. Cada valor apunta a un reporte distinto, con sus propias columnas y hojas, así que es lo que determina la forma del archivo resultante. Es un catálogo que crece al publicar reportes nuevos, y no todos los valores están disponibles para toda organización: algunos dependen de sus permisos y otros exigen parámetros adicionales. Los valores terminados en `_v2` no son otro formato del mismo reporte, sino una versión que lee un modelo de datos más nuevo, con columnas y hojas distintas.

## Request body

- GenerateReportPartRequest
  - `custom_params` object
  - `date_range` 'CURRENT_DAY' | 'PREVIOUS_DAY' | 'LAST_WEEK' | 'LAST_7DAYS' | 'CURRENT_MONTH' | 'LAST_MONTH' | 'LAST_30DAYS' | 'LAST_3MONTHS' | 'LAST_12MONTHS': Rango de fechas relativo a un día de referencia: hoy, salvo que la ejecución indique otro. Los dos extremos son inclusivos.
  - `excluded_fields` string[]
  - `external_emails` string[]: Additional email addresses to receive the report (optional). Combined with user_email for notification.
  - `filters` ReportFilterRequest[]
    - `column_name` string, required
    - `criteria` 'lt' | 'gt' | 'le' | 'ge' | 'eq' | 'neq' | 'in' | 'not_in' | 'is', required: Operador con que un filtro compara una columna del reporte contra el valor entregado: `lt` y `gt` son menor y mayor estrictos, `le` y `ge` los mismos pero incluyendo la igualdad, `eq` y `neq` son igual y distinto, `in` y `not_in` esperan una lista y filtran por pertenecer o no a ella, e `is` compara contra un valor exacto.
    - `table_name` string
    - `value` unknown
  - `header_metadata` object
  - `include_metadata_header` boolean
  - `include_soft_deleted` boolean
  - `part_index` integer, required
  - `report_execution_id` string, required
  - `sheet_assignments` SheetChunkAssignment[], required
    - `chunk_refs` ChunkRef[], required
      - `blob` GCSObject, required
        - `bucket_name` string, required
        - `file_size` integer
        - `file_type` 'csv' | 'ndjson' | 'xlsx' | 'zip' | 'fixed_width', required: Tipo del archivo guardado, que define su extensión: `csv` y `xlsx` son las dos formas en que se entrega un reporte, `zip` el comprimido con que se agrupan varios archivos, y `fixed_width` un archivo de texto de ancho fijo, que se entrega con extensión `.txt`. `ndjson` es el formato de los archivos intermedios de la extracción de datos, que no se entregan.
        - `object_name` string, required
        - `signed_url` string
      - `chunk_index` integer, required
    - `sheet_name` string, required
  - `target_storage_prefix` string, required
  - `timezone` string
  - `timezone_offset` integer
  - `total_parts` integer, required
  - `user_email` string

## Response `200`

Successful Response

- GenerateReportPartResponse
  - `part_index` integer, required
  - `sheet_stats` object
  - `xlsx_storage_object` GCSObject, required
    - `bucket_name` string, required
    - `file_size` integer
    - `file_type` 'csv' | 'ndjson' | 'xlsx' | 'zip' | 'fixed_width', required: Tipo del archivo guardado, que define su extensión: `csv` y `xlsx` son las dos formas en que se entrega un reporte, `zip` el comprimido con que se agrupan varios archivos, y `fixed_width` un archivo de texto de ancho fijo, que se entrega con extensión `.txt`. `ndjson` es el formato de los archivos intermedios de la extracción de datos, que no se entregan.
    - `object_name` string, required
    - `signed_url` string

## Other responses

- `401`: Faltan las credenciales o son inválidas.
- `403`: No tienes acceso a este recurso.
- `404`: El recurso solicitado no existe.
- `422`: La parte no produjo datos, por lo que reintentarla no cambia el resultado.
- `429`: Se superó el límite de peticiones permitidas.

## Changes

- **2026-11-03** `a6ef070075b1`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/trytoku/apis/toku-api/changes/reports/:entity/generate-part/post.md)

---

[API](https://skmtc.dev/trytoku/apis/toku-api.md) - [All operations](https://skmtc.dev/trytoku/apis/toku-api/llms.txt) - [OpenAPI document](https://skmtc.dev/trytoku/apis/toku-api/revisions/a6ef070075b1?raw)
