# Doctor de numeración (diagnosticar y reparar 10016): POST /bill/receipts/doctor/

- Método y ruta: `POST /bill/receipts/doctor/`
- Scope: `invoices:write`
- Recurso: Facturación

## Qué hace

Diagnostica la numeración de comprobantes contra ARCA: detecta si el contador local quedó desfasado del último comprobante autorizado (la causa del error ARCA 10016) y, con `apply: true`, lo resincroniza. **Atención: `apply: true` no solo resincroniza el contador.** También adopta o reautoriza hasta 500 comprobantes de la cuenta que están en estado `error` o trabados en `procesando`, y purga reservas de número huérfanas. Antes de aplicar, corré siempre con `apply: false` y revisá el `detail` del diagnóstico; si algún comprobante en `error` ya lo reemplazaste con una emisión nueva, no apliques y escribile a soporte. Después de aplicar, releé el comprobante con `GET /bill/receipts/{comprobante_id}/`; si sigue sin CAE, reautorizá ESE mismo comprobante con `POST /bill/receipts/authorize/{comprobante_id}/`, no crees uno nuevo. Requiere scope `invoices:write` y el permiso `administration:invoices:approve`. Límite: 5 llamadas cada 300 segundos. `apply` tiene que ser un booleano JSON (el texto `"true"` responde 400).

## Cuerpo del request (application/json)

| Campo | Tipo | Requerido | Descripción |
| --- | --- | --- | --- |
| `environment` | string | no | Ambiente de ARCA a revisar. Valores: testing, production. Por defecto: production. |
| `apply` | boolean | no | false = solo diagnóstico. true = resincroniza el contador Y adopta o reautoriza hasta 500 comprobantes en `error` o `procesando` trabados de la cuenta. Por defecto: false. |
| `tipos` | array de integer | no | Tipos de comprobante a revisar. Si se omite, 1, 6 y 11. Por defecto: [1,6,11]. |

## Errores

| Estado | Descripción | Código |
| --- | --- | --- |
| 400 | Solicitud inválida (body ausente o con formato incorrecto). | `VALIDATION_ERROR` |
| 401 | Falta autenticación o el token es inválido/expiró. | `UNAUTHORIZED` |
| 403 | El token no tiene el/los scope(s) requeridos, o el plan del tenant no habilita el módulo. | `FORBIDDEN` |
| 429 | Se superó el rate limit del endpoint o del tenant. Ver headers `X-RateLimit-*` y `Retry-After`. | `RATE_LIMITED` |

Referencia completa: https://yo-facturo.com/dev/referencia/
