# Estado del trabajo

URL base `https://api.accessful.de/api/v1/upload-service`. Cada petición necesita la cabecera `X-API-Key` — consulta [Autenticación](https://docs.accessful.de/es/authentication/).

```http
GET /job-status/{caseId}
```

**`200 OK`**

```json
{ "jobStatus": "completed", "stage": "finished", "score": 87 }
```

`score` es la calidad de accesibilidad del resultado, **0–100** (definitivo una vez
`completed`). Se devuelve `404` para un `caseId` desconocido.

La respuesta tiene dos campos independientes: **`jobStatus`** es el resultado
general —úsalo para decidir cuándo ha terminado el trabajo— mientras que **`stage`**
es la fase detallada del pipeline de un caso en curso, indicando *dónde* se
encuentra.

| `jobStatus` | Significado | |
| --- | --- | --- |
| `queued` | En espera en la cola. | |
| `running` | Procesándose actualmente. | |
| `completed` | Terminado — resultado listo para descargar. | final |
| `failed` | El procesamiento falló. | final |
| `analyzer_failed` | El paso de análisis de accesibilidad falló. | final |
| `canceled` | El trabajo fue cancelado. | final |
| `quota_pending` | A la espera de una comprobación de cuota asíncrona. | |
| `quota_exceeded` | Rechazado — cuota del contrato agotada. | final |

Al sondear, detente en cuanto `jobStatus` alcance un estado **final**.

`stage` indica la fase del pipeline. `jobStatus: "completed"` siempre coincide con
`stage: "finished"` — el momento en que `score` es definitivo.

| `stage` | Significado |
| --- | --- |
| `queued` | Aceptado; a la espera del primer análisis. |
| `analyzing` | El análisis de accesibilidad inicial está en curso. |
| `resolving` | La remediación con IA está en curso. |
| `revalidating` | El archivo remediado se está reanalizando; se recalcula `score`. |
| `finished` | Terminado — `score` refleja el archivo remediado final. |
| `failed` | El procesamiento se detuvo por un error. |