Lire l’état d’une tâche de rédaction
GET/api/public/v1/aip/jobs/{job_id} beta
The state of one aip_jobs row: queued → running → succeeded | failed. A failed job carries error as {code, message} — never a raw provider response — and a succeeded one whatever its kind produces in result (a replay one page at a time, rule_page).
curl --fail-with-body -X GET 'https://app.openlatch.ai/api/public/v1/aip/jobs/<job_id>' \ -H "Authorization: Bearer $OPENLATCH_API_KEY"import jsonimport osimport urllib.request
request = urllib.request.Request( 'https://app.openlatch.ai/api/public/v1/aip/jobs/<job_id>', method='GET', headers={ 'Authorization': 'Bearer ' + os.environ['OPENLATCH_API_KEY'], },)with urllib.request.urlopen(request) as response: text = response.read().decode() print(json.dumps(json.loads(text), indent=2) if text else response.status)#!/usr/bin/env bashset -euo pipefail
curl -sS --fail-with-body -X GET 'https://app.openlatch.ai/api/public/v1/aip/jobs/<job_id>' \ -H "Authorization: Bearer $OPENLATCH_API_KEY" | jq .$headers = @{ Authorization = "Bearer $env:OPENLATCH_API_KEY"}Invoke-RestMethod -Method GET -Uri 'https://app.openlatch.ai/api/public/v1/aip/jobs/<job_id>' -Headers $headers | ConvertTo-Json -Depth 20Autorisation
Section intitulée « Autorisation »| Rôle dans l’organisation | Ce point de terminaison |
|---|---|
owner | Autorisé |
admin | Autorisé |
editor | Autorisé |
viewer | Non autorisé |
Une clé porte le rôle que son propriétaire détient dans l’organisation. Voir Authentification.
Portée de clé d’API : aip:read
Paramètres de chemin
Section intitulée « Paramètres de chemin »| Paramètre | Type | Description |
|---|---|---|
job_id | string (uuid) | Obligatoire. |
Paramètres de requête
Section intitulée « Paramètres de requête »| Paramètre | Type | Description |
|---|---|---|
rule_page | integer | A replay result's page, 1-based. |
- 200 OK — l’appel a réussi.
- 401 Unauthorized —
UNAUTHORIZED - 402 Payment Required —
license_expired - 403 Forbidden —
FEATURE_DISABLED,FORBIDDEN,INSUFFICIENT_SCOPE - 404 Not Found —
NOT_FOUND - 422 Unprocessable Content —
INVALID_ID,VALIDATION_ERROR - 429 Too Many Requests —
TOO_MANY_REQUESTS - 500 Internal Server Error —
INTERNAL_SERVER_ERROR,tenant_isolation_violation - 503 Service Unavailable —
FEATURE_STATE_UNAVAILABLE,SERVICE_UNAVAILABLE
Champs de la réponse
Section intitulée « Champs de la réponse »| Champ | Type | Description |
|---|---|---|
data | object | Obligatoire. `GET /aip/jobs/{job_id}` — one authoring job. |
data.created_at | string (date-time) | Obligatoire. |
data.error | object or null | |
data.finished_at | string (date-time) or null | |
data.heartbeat_at | string (date-time) or null | |
data.id | string | Obligatoire. |
data.kind | string | Obligatoire. |
data.policy_id | string or null | |
data.progress | integer | Obligatoire. |
data.result | object or null | |
data.source_id | string or null | |
data.started_at | string (date-time) or null | |
data.state | string | Obligatoire. |
data.step | string or null |
Exemple de réponse
Section intitulée « Exemple de réponse »{ "data": { "created_at": "2026-01-15T14:32:05Z", "error": {}, "finished_at": "2026-01-15T14:32:05Z", "heartbeat_at": "2026-01-15T14:32:05Z", "id": "3f6c1a2e-8b4d-4c1f-9a7e-0d5b2c8e4f10", "kind": "string", "policy_id": "3f6c1a2e-8b4d-4c1f-9a7e-0d5b2c8e4f10", "progress": 3, "result": {}, "source_id": "3f6c1a2e-8b4d-4c1f-9a7e-0d5b2c8e4f10", "started_at": "2026-01-15T14:32:05Z", "state": "string", "step": "string" }}