GET /job_status
Retrieves the current status of a specific video analysis job.
Endpoint
GET https://api-eu.valossa.com/core/1.0/job_status
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
api_key | string | Yes | Your Valossa API key |
job_id | string | Yes | The UUID of the job to check |
Response
A successful response returns HTTP 200 with a JSON body containing:
| Field | Type | Description |
|---|---|---|
job_id | string | UUID of the job |
status | string | Current job state (see values below) |
media_transfer_status | string | Transfer state of source media (queued, downloading, finished, error) |
details | string/null | Additional details, often present when status is error |
poll_again_after_seconds | integer/null | Suggested polling interval in seconds |
Status Values
| Status | Description |
|---|---|
queued | Job is waiting to be processed |
on_hold | Job is temporarily paused in queueing |
preparing_analysis | System is preparing processing resources |
processing | Video is being analyzed by AI models |
finished | Analysis is finished; results are available |
error | An error occurred during processing |
Examples
curl
curl "https://api-eu.valossa.com/core/1.0/job_status?api_key=YOUR_API_KEY&job_id=167d6a67-fb99-438c-a44c-c22c98229b93"
Python
import requests
response = requests.get(
"https://api-eu.valossa.com/core/1.0/job_status",
params={
"api_key": "YOUR_API_KEY",
"job_id": "167d6a67-fb99-438c-a44c-c22c98229b93"
}
)
status = response.json()
print(f"Job status: {status['status']}")
JavaScript
const response = await fetch(
"https://api-eu.valossa.com/core/1.0/job_status?api_key=YOUR_API_KEY&job_id=167d6a67-fb99-438c-a44c-c22c98229b93"
);
const status = await response.json();
console.log("Job status:", status.status);
Example Response (processing)
{
"job_id": "167d6a67-fb99-438c-a44c-c22c98229b93",
"status": "processing",
"media_transfer_status": "finished",
"details": null,
"poll_again_after_seconds": 30
}
Example Response (finished)
{
"job_id": "167d6a67-fb99-438c-a44c-c22c98229b93",
"status": "finished",
"media_transfer_status": "finished",
"details": null,
"poll_again_after_seconds": 0
}
Polling Recommendations
When polling for job completion:
- Use
poll_again_after_secondsto determine when to poll again. - Check
statusand stop polling when it reachesfinishedorerror. - Implement a maximum retry limit or timeout to handle edge cases gracefully.