# Get pauses
URL: https://docs.fluenta.io/docs/reference/analytics/get-pauses
Operation: `getPauses`
Required permission: `read`

`GET /v1/external/organizations/{organizationId}/analytics/pauses`

The «Pausas» report over a range of up to 31 plant days: every pausa, newest first (at most 2000), and the figures over the whole range.

What it is: the dashboard’s «Reportes», tab «Pausas». A «pausa» is a stop one «operario» takes at their «puesto» with «Pausar» on the app, ended with «Reanudar», by an administrador from the board, or by the system (end of the «jornada», the «operario» leaving the «puesto», the feature going off). It is not a «descanso» (a «módulo»’s scheduled break) and not one of «Analítica»’s «pausas sin registro» (gaps inferred from the «marcas» log).

What it returns: `rows`, one per «pausa» that started in the range, newest first, at most 2000; `summary`, the figures over every «pausa» of the range, never only the rows sent; and `truncated`, true when the range holds more than `rows` carries (then narrow the range or filter). `moduleId` keeps the «pausas» of that «módulo»’s «puestos», `operatorId` the ones that «operario» started.

Durations are in minutes. `durationMinutes` is the whole «pausa» by the clock; `minutes` is what it took off the «puesto»’s «metas» (its part inside the «jornada» and outside «descansos»), the figure the other reports’ `pausedMinutes` add up. Both are null while the «pausa» is open. `summary` counts by the clock: its `minutes`, `averageMinutes` and `longestMinutes` are over `durationMinutes`.

Range: `from` and `to` are plant days, both included, at most 31 days apart counting both (`RANGE_TOO_LARGE` past it; note the cap is shorter than the efficiency charts’).

Days and hours are the plant’s own: a plant day is a calendar day `YYYY-MM-DD` in the organization’s timezone (`getOrganization` `timezone`), never UTC, and an `hour` is the clock hour 0–23 that starts at it in that zone. `startMinute` and `endMinute` are minutes of the plant day on that clock (0 is 00:00); `startedAt` and `endedAt` are the same moments as instants, ISO 8601 in UTC.

Naming: each row’s `operationId` is its «puesto» (a numbered station of a «módulo»). A «puesto» is an `operation` in ids, filters and codes and a `station` in paths: the same number is the `id` `listStations` returns and the `stationId` of the station routes.

Plan: needs the plan feature `pauses` («Pausas»), the one its dashboard screen is gated by. Pro, a trial of Pro and an «exenta» organization answer it; a Light organization, of either plan version, does not: 403 `PLAN_LIMIT` with `feature: "pauses"`. `getPlan` `features` lists what the organization’s plan has. On a plan that has it, a plant that never switched on «Habilitar pausas» answers 200 with no rows.

Heavy read: besides the credential’s ordinary budget it spends the heavy one, 20 requests per 60 seconds per credential and organization; past it the answer is 429 `RATE_LIMITED` with `Retry-After`.

### Authorization

- `apiToken` — Bearer token. An API token created in Configuración › Tokens de API, or a connected app’s access token

Send it as `Authorization: Bearer <your API token>`.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `from` | query | string | yes | First plant day of the range, `YYYY-MM-DD` on the plant’s own clock, included. At most 31 days from `from` to `to`, counting both: past it, 400 `RANGE_TOO_LARGE`. |
| `to` | query | string | yes | Last plant day of the range, `YYYY-MM-DD` on the plant’s own clock, included. Before `from`: 400 `RANGE_INVALID`. |
| `moduleId` | query | integer | no | Only the «pausas» taken at the «puestos» of this «módulo» (the `id` of one from `listModules`). Of another organization or unknown: 404 `MODULE_NOT_FOUND`. |
| `operatorId` | query | integer | no | Only the «pausas» this «operario» took (the `id` of one from `listOperators`). Of another organization or unknown: 404 `OPERATOR_NOT_FOUND`. |
| `organizationId` | path | integer | yes | The organization, from `getMe` or `listOrganizations`. |

### Responses

| Status | Description |
| --- | --- |
| `200` | The «pausas» of the range, newest first, and the figures over all of them. |
| `400` | `INVALID_DAY`: `from` or `to` is not a real calendar day written `YYYY-MM-DD`. `RANGE_INVALID`: `from` is after `to`. `RANGE_TOO_LARGE`: more than 31 plant days from `from` to `to`, both included (`maxDays` in the body says the cap); ask a shorter range. `INVALID_REQUEST`: a query parameter is missing, of the wrong type or outside its allowed values; `details` lists each one as `{field, message}`. Body: `{statusCode, code, message}`, the message in Spanish, for the usuario. |
| `401` | Missing, malformed, unknown, expired or revoked credential: `INVALID_API_TOKEN`. |
| `402` | The organization is blocked: `ORG_BLOCKED`. |
| `403` | `PLAN_LIMIT` with `feature: "pauses"`: the organization’s plan lacks «Pausas» (Pro, a trial of Pro and an «exenta» organization answer it; a Light organization, of either plan version, does not). `PLAN_LIMIT` with `feature: "aiConnector"`: a connected app reads an organization without «Conectar con IA». `INSUFFICIENT_SCOPE`: the credential lacks the «Permiso» `read`. Retrying does not help: the plan or the credential has to change. |
| `404` | `ORGANIZATION_NOT_FOUND`: the organization does not exist or is out of the credential’s reach. `MODULE_NOT_FOUND`: the «módulo» does not exist or is another organization’s. `OPERATOR_NOT_FOUND`: the «operario» does not exist or is another organization’s. One body for a row that is missing and for one of another organization. |
| `429` | The credential is over its rate limit: `RATE_LIMITED`. Per credential, in fixed windows of 60 seconds: 60 requests in one organization on Light and 120 on Pro; 20 on the heavy reads (the range figures, the whole floor, the month and the pauses); 300 across every organization; 60 on the routes that name no organization. Wait `Retry-After` seconds; a refused request counts against nothing. |

### Example

```bash
curl -X GET 'https://api.fluenta.io/v1/external/organizations/{organizationId}/analytics/pauses' \
  -H 'Authorization: Bearer <your API token>'
```