---
title: "Enroll Bulk Monitoring"
method: POST
path: "/monitoring"
tags: ["Monitoring"]
---

# Enroll Bulk Monitoring

`POST /monitoring`

## Request

- Base URL: `https://api.burodeingresos.com`
- URL: `https://api.burodeingresos.com/monitoring`
- Auth: API key in header `X-API-Key`
- TypeScript: <https://skmtc.dev/burodeingresos/apis/bur-de-ingresos-api/docs/monitoring/post.ts> (a function with typed inputs; its response is checked against the schema)

Enrolls up to 10,000 identifiers in monitoring in one synchronous request, with the same rules as `POST /monitoring/{identifier}` (each identifier needs a valid consent; `ip_address` is not accepted here). Duplicates are counted once. An identifier that fails does not reject the others: it is counted in `failed` and listed in `failures` (at most 100; `failures_truncated` is `true` when there are more).

## Request body

- EnrollBulkMonitoringRequest
  - `identifiers` string[], required: Identifiers to enroll (18-char CURP or 12-char RFC). Up to 10,000 distinct identifiers.

## Response `200`

Counts for the batch and the identifiers that failed.

- MonitoringBulkResponse
  - `total` integer: Distinct identifiers in the request.
  - `enrolled` integer: Identifiers newly enrolled (or enrolled again).
  - `already_active` integer: Identifiers that were already active.
  - `failed` integer: Identifiers that could not be enrolled.
  - `failures` object[]: Identifiers that failed and why, at most 100.
    - `identifier` string: The identifier that failed.
    - `code` string: A machine-readable error code (e.g. `invalid_identifier`, `consent_not_found`, `consent_expired`).
    - `message` string: A human-readable message.
  - `failures_truncated` boolean: `true` when more identifiers failed than `failures` lists.

## Other responses

- `400`: Bad Request - `identifiers` is missing, empty, or has more than 10,000 distinct identifiers.
- `401`: Unauthorized - Invalid or missing API key.
- `403`: Forbidden - Only an active account can enroll identifiers in monitoring. Reading and cancelling stay available.

## Changes

- **2026-11-03** `98eb3984cffb`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/burodeingresos/apis/bur-de-ingresos-api/changes/monitoring/post.md)

---

[API](https://skmtc.dev/burodeingresos/apis/bur-de-ingresos-api.md) - [All operations](https://skmtc.dev/burodeingresos/apis/bur-de-ingresos-api/llms.txt) - [OpenAPI document](https://skmtc.dev/burodeingresos/apis/bur-de-ingresos-api/revisions/98eb3984cffb?raw)
