Skip to main content

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

ParameterTypeRequiredDescription
api_keystringYesYour Valossa API key
job_idstringYesThe UUID of the job to check

Response

A successful response returns HTTP 200 with a JSON body containing:

FieldTypeDescription
job_idstringUUID of the job
statusstringCurrent job state (see values below)
media_transfer_statusstringTransfer state of source media (queued, downloading, finished, error)
detailsstring/nullAdditional details, often present when status is error
poll_again_after_secondsinteger/nullSuggested polling interval in seconds

Status Values

StatusDescription
queuedJob is waiting to be processed
on_holdJob is temporarily paused in queueing
preparing_analysisSystem is preparing processing resources
processingVideo is being analyzed by AI models
finishedAnalysis is finished; results are available
errorAn 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_seconds to determine when to poll again.
  • Check status and stop polling when it reaches finished or error.
  • Implement a maximum retry limit or timeout to handle edge cases gracefully.