> ## Documentation Index
> Fetch the complete documentation index at: https://docs.inagent.inconcertcx.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Reportes estándar

> Obtén reportes predefinidos del sistema.

Los reportes estándar son reportes predefinidos del sistema que no requieren configuración adicional.

## Endpoint

```
GET /engine/v1/api/reports/sessions-detail
```

## Autenticación

<ParamField header="apikey" type="string" required>
  Tu API Key de autenticación proporcionada por Inconcert.
</ParamField>

## Parámetros

<ParamField query="crew_id" type="string" required>
  Identificador único del equipo (crew) para el cual se solicita el reporte.

  <Note>Puedes obtener el Crew ID desde el panel de administración de Inagent.</Note>
</ParamField>

<ParamField query="start_ts" type="long" required>
  Fecha y hora de inicio del período del reporte en formato Unix timestamp (milisegundos).

  **Ejemplo:** `1762353017000`
</ParamField>

<ParamField query="end_ts" type="long" required>
  Fecha y hora de fin del período del reporte en formato Unix timestamp (milisegundos).

  **Ejemplo:** `1762957817000`
</ParamField>

<ParamField query="page" type="integer" required>
  Número de página para paginación de resultados. Comienza en `0` para la primera página.

  **Ejemplo:** `0`
</ParamField>

<ParamField query="pageSize" type="integer" required>
  Cantidad de registros a retornar por página.

  **Ejemplo:** `10`, `25`, `50`
</ParamField>

## Ejemplo de Petición

<CodeGroup>
  ```bash cURL theme={null}
  curl --location --max-time 10 \
  'https://api.backend.inconcertcc.com/engine/v1/api/reports/sessions-detail?crew_id=XXXXXXXXX&start_ts=1762353017000&end_ts=1762957817000&page=0&pageSize=10' \
  --header 'apikey: XXXXXXXX'
  ```

  ```javascript JavaScript theme={null}
  const crewId = 'XXXXXXXXX';
  const startTs = 1762353017000;
  const endTs = 1762957817000;

  const params = new URLSearchParams({
    crew_id: crewId,
    start_ts: startTs,
    end_ts: endTs,
    page: 0,
    pageSize: 10
  });

  const response = await fetch(
    `https://api.backend.inconcertcc.com/engine/v1/api/reports/sessions-detail?${params}`,
    {
      method: 'GET',
      headers: {
        'apikey': 'XXXXXXXX'
      }
    }
  );

  const data = await response.json();
  console.log(data);
  ```

  ```python Python theme={null}
  import requests

  url = "https://api.backend.inconcertcc.com/engine/v1/api/reports/sessions-detail"

  params = {
      "crew_id": "XXXXXXXXX",
      "start_ts": 1762353017000,
      "end_ts": 1762957817000,
      "page": 0,
      "pageSize": 10
  }

  headers = {
      "apikey": "XXXXXXXX"
  }

  response = requests.get(url, params=params, headers=headers, timeout=10)
  data = response.json()

  print(data)
  ```
</CodeGroup>

<ResponseExample>
  ```json Response theme={null}
  {
    "data": [
      {
        "session_id": "session_123",
        "agent_id": "agent_456",
        "start_time": 1762353017000,
        "end_time": 1762356617000,
        "duration": 3600,
        "status": "completed"
      }
    ],
    "pagination": {
      "page": 0,
      "pageSize": 10,
      "total": 150,
      "hasMore": true
    }
  }
  ```
</ResponseExample>

## Notas Importantes

<Info>
  **Formato de Timestamps:** Los parámetros `start_ts` y `end_ts` deben estar en formato Unix timestamp expresado en milisegundos (13 dígitos).
</Info>

<Tip>
  **Paginación:** Para obtener todos los resultados, realiza múltiples peticiones incrementando el parámetro `page` hasta que `hasMore` sea `false`.
</Tip>

<Warning>
  **Timeout:** Se recomienda establecer un timeout de 10 segundos para prevenir bloqueos prolongados.
</Warning>
