# List module rest times
URL: https://docs.fluenta.io/docs/reference/plant/list-module-rest-times
Operation: `listModuleRestTimes`
Required permission: `read`

`GET /v1/external/organizations/{organizationId}/modules/{moduleId}/rest-times`

One «módulo»’s «descansos» (breaks), every weekday alike, by start: no goal is owed inside one. On a «jornada continua» weekday (`getSettings`) none applies.

Answers the «Descansos por módulo» of «Configuración» for one «módulo»: its break windows (breakfast, lunch, a «pausa activa»), ordered by start. During one the «puestos» go grey and the hour’s goal shrinks by the minutes lost.

Each row is a window from `startHour`:`startMin` to `endHour`:`endMin`, hours 0 to 23 and minutes 0 to 59 on the plant’s clock (`getSettings.timezone`); the same rows apply on every worked weekday, and none applies on a «jornada continua» weekday (`getSettings.shift.continuousDays`). A «módulo» without breaks answers `restTimes: []`.

`moduleId` comes from `listModules` or `getFloor`. `getOrganization` answers the same rows for every «módulo» at once.

A «descanso» is the whole «módulo»’s; a «pausa» is one «operario»’s stop at one «puesto» (`pausedAt` on a «puesto», `getPauses`).

Not paged: the whole answer comes in one response.

Plan: on every plan, Light included. A «token de API» reads it in any organization the user who created it belongs to; a connected AI app (a «conexión») reads it only where the organization has «Conectar con IA» (`getPlan.features.aiConnector`, a Pro feature), and answers 403 `PLAN_LIMIT` elsewhere.

Rate limit: one request of the credential’s ordinary budget in this organization (`getPlan` answers the numbers); past it, 429 `RATE_LIMITED` with `Retry-After` in seconds.

### 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 |
| --- | --- | --- | --- | --- |
| `moduleId` | path | integer | yes | The «módulo»: an `id` of `listModules` or `getFloor`, or the `moduleId` of a «puesto». |
| `organizationId` | path | integer | yes | The organization, from `getMe` or `listOrganizations`. |

### Responses

| Status | Description |
| --- | --- |
| `200` | `ExternalModuleRestTimesDto` |
| `401` | `INVALID_API_TOKEN`: the credential is missing, malformed, unknown, expired or revoked. One body for all of them. |
| `402` | The organization is blocked: `ORG_BLOCKED`. |
| `403` | `PLAN_LIMIT` with `feature: "aiConnector"`: the credential is a «conexión» and the organization’s plan has no «Conectar con IA» (Light). A «token de API» is not refused here on any plan on sale: the plant reads are on every plan. `INSUFFICIENT_SCOPE` only for a credential without the «Permiso» `read` («Leer»), which every credential is issued with. |
| `404` | `ORGANIZATION_NOT_FOUND`: the organization does not exist or is out of the credential’s reach. One body for both. `MODULE_NOT_FOUND`: no «módulo» with that `moduleId` in this organization. One body whether it does not exist, was deleted, belongs to another organization or is not a positive integer: never a 400 or a 403. |
| `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}/modules/{moduleId}/rest-times' \
  -H 'Authorization: Bearer <your API token>'
```