Get background job status
get_job_statusCheck if a background OpenProject job (project copy, deletion, export) has finished, and get its status, success flag, and result URL.
Instructions
Check whether a background job (a project copy, a scheduled deletion) has finished.
OpenProject runs copies, deletions and exports asynchronously and hands back a job id.
This is the only way to learn what happened to one: call it after copy_project or
delete_project and wait for a terminal state before reporting an outcome to the
user.
Returns {id, status, finished, successful, message, project, result_url, notes}.
status is 'in_queue' or 'in_process' while the job runs and 'success', 'failure',
'error' or 'cancelled' once it is over; finished and successful are derived
from it, and successful stays null while the job runs rather than defaulting to
false. A finished copy reports the new project in project and the URL it lives at
in result_url.
Pitfalls: a 200 does not mean the job worked — read status. Polling is on you:
wait a few seconds between calls rather than looping tightly. OpenProject drops job
statuses after a while, so a 404 can mean 'long finished' as easily as 'wrong id';
confirm with get_project or list_projects. When a job fails, message is
what OpenProject recorded — there is no API to retry it, so the underlying tool has to
be called again deliberately.
Cross-references: copy_project and delete_project produce the job_id;
get_project / list_projects verify what the job actually did.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | Background job id — a uuid such as '9f4c1d5e-0e2a-4f2b-9a11-2f1b3c4d5e6f'. It comes from copy_project or delete_project ('job_id' in their results), never from a project id. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Job id (a uuid) this status belongs to. | |
| notes | No | Degradation markers: still running, or a reference that had to be derived. | |
| status | No | Job state: 'in_queue' or 'in_process' while it runs, 'success', 'failure', 'error' or 'cancelled' once it is over. | |
| message | No | What the job reported, e.g. why it failed. | |
| project | No | Project the job produced or acted on ({id, name}), when it names one — this is how a finished copy_project job hands back the new project. | |
| finished | Yes | True once status is terminal. False means the job is still running — poll again rather than reporting a result. | |
| result_url | No | Web URL the job stored for its result (the new project, an export download). A UI URL, not an API endpoint. | |
| successful | No | True when the job finished successfully, false when it failed, null while it is still running. Never guess from 'finished' alone. |