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

# Catálogo de /api/v1/portal

> Endpoints del portal de familias y estudiantes.

Subárbol propio dentro de `/api/v1`, detrás de `portalMiddleware`. Quien entra es el responsable de la cuenta financiera; `finance_account_members` decide qué hijos ve. Cada sección corresponde a un módulo `portal_*` que la institución enciende o apaga.

<Info>
  **17 endpoints** en 6 grupos. Catálogo generado desde `apps/web/src/server/app.ts` en el commit `6a1f89d4`.
</Info>

### `/api/v1/portal/academic`

1 endpoint · [`apps/web/src/server/routes/v1/portal-academic.ts`](https://github.com/soyandresalcedo/edtools-os/blob/develop/apps/web/src/server/routes/v1/portal-academic.ts)

| Método | Ruta                              |
| ------ | --------------------------------- |
| `GET`  | `/api/v1/portal/academic/summary` |

### `/api/v1/portal/account`

4 endpoints · [`apps/web/src/server/routes/v1/portal-account.ts`](https://github.com/soyandresalcedo/edtools-os/blob/develop/apps/web/src/server/routes/v1/portal-account.ts)

| Método  | Ruta                                                  |
| ------- | ----------------------------------------------------- |
| `POST`  | `/api/v1/portal/account/password`                     |
| `GET`   | `/api/v1/portal/account/profile`                      |
| `PATCH` | `/api/v1/portal/account/profile`                      |
| `PATCH` | `/api/v1/portal/account/profile/students/{studentId}` |

### `/api/v1/portal/calendar`

1 endpoint · [`apps/web/src/server/routes/v1/portal-calendar.ts`](https://github.com/soyandresalcedo/edtools-os/blob/develop/apps/web/src/server/routes/v1/portal-calendar.ts)

| Método | Ruta                      |
| ------ | ------------------------- |
| `GET`  | `/api/v1/portal/calendar` |

### `/api/v1/portal/finance`

3 endpoints · [`apps/web/src/server/routes/v1/portal-finance.ts`](https://github.com/soyandresalcedo/edtools-os/blob/develop/apps/web/src/server/routes/v1/portal-finance.ts)

| Método | Ruta                                                  |
| ------ | ----------------------------------------------------- |
| `GET`  | `/api/v1/portal/finance/accounts/{accountId}`         |
| `GET`  | `/api/v1/portal/finance/receipts/:receiptId/document` |
| `GET`  | `/api/v1/portal/finance/summary`                      |

### `/api/v1/portal/messages`

4 endpoints · [`apps/web/src/server/routes/v1/portal-messages.ts`](https://github.com/soyandresalcedo/edtools-os/blob/develop/apps/web/src/server/routes/v1/portal-messages.ts)

| Método | Ruta                                         |
| ------ | -------------------------------------------- |
| `GET`  | `/api/v1/portal/messages`                    |
| `POST` | `/api/v1/portal/messages`                    |
| `GET`  | `/api/v1/portal/messages/threads/{threadId}` |
| `POST` | `/api/v1/portal/messages/upload-intent`      |

### `/api/v1/portal/pqrs`

4 endpoints · [`apps/web/src/server/routes/v1/portal-pqrs.ts`](https://github.com/soyandresalcedo/edtools-os/blob/develop/apps/web/src/server/routes/v1/portal-pqrs.ts)

| Método | Ruta                                                 |
| ------ | ---------------------------------------------------- |
| `GET`  | `/api/v1/portal/pqrs`                                |
| `POST` | `/api/v1/portal/pqrs`                                |
| `GET`  | `/api/v1/portal/pqrs/{caseId}`                       |
| `GET`  | `/api/v1/portal/pqrs/{caseId}/adjuntos/{documentId}` |
