Returns the current job status, the simplified client state, and the final result URLs when the asynchronous API job is complete.
https://api.removit.eu/api/v1/statusCall this endpoint with the job_id returned by /upload.
GET/api/v1/statusRequiredjob_idjob_id from the upload responsePending responses expose both a detailed workflow step and a simplified client-facing state.
{
"job_id": "019cdc54-2673-dc32-b9e5-6e1d36cc9e8a",
"status": "pending_compose",
"state": "pending",
"mode": "params",
"progress": 33,
"final_url": null
}If delivery_mode=final_url, the API returns a single resolved final_url when the state is done.
{
"job_id": "019cdc54-2673-dc32-b9e5-6e1d36cc9e8a",
"status": "done",
"state": "done",
"mode": "params",
"progress": 100,
"final_url": "https://cdn.example.com/.../clipping.webp"
}If delivery_mode=url, the API may return final_urls with multiple named outputs.
{
"job_id": "019cdc54-2673-dc32-b9e5-6e1d36cc9e8a",
"status": "done",
"state": "done",
"mode": "params",
"progress": 100,
"final_urls": {
"background": "https://cdn.example.com/.../background.webp",
"compose": "https://cdn.example.com/.../compose.webp",
"shadowTop": "https://cdn.example.com/.../shadowTop.webp",
"clipping": "https://cdn.example.com/.../clipping.webp"
},
"warnings": {
"shadow_wall": ["params not provided"]
},
"ignored_variations": ["shadow_wall"]
}These job status API examples show how to call GET /api/v1/status with authentication and a required job_id from backend code or command-line tools.
curl -X GET "$BASE_URL/api/v1/status?job_id=$JOB_ID" \
-H "X-API-Key: $API_KEY"const BASE_URL = "https://api.removit.eu";
const API_KEY = process.env.REMOVIT_API_KEY;
const jobId = "019cdc54-2673-dc32-b9e5-6e1d36cc9e8a";
const response = await fetch(
`${BASE_URL}/api/v1/status?job_id=${encodeURIComponent(jobId)}`,
{
headers: {
"X-API-Key": API_KEY,
},
},
);
const data = await response.json();$baseUrl = "https://api.removit.eu";
$apiKey = getenv("REMOVIT_API_KEY");
$jobId = "019cdc54-2673-dc32-b9e5-6e1d36cc9e8a";
$ch = curl_init("{$baseUrl}/api/v1/status?job_id=" . rawurlencode($jobId));
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"X-API-Key: {$apiKey}",
],
]);
$response = curl_exec($ch);
$data = json_decode($response, true);
curl_close($ch);import os
import requests
base_url = "https://api.removit.eu"
api_key = os.environ["REMOVIT_API_KEY"]
job_id = "019cdc54-2673-dc32-b9e5-6e1d36cc9e8a"
response = requests.get(
f"{base_url}/api/v1/status",
headers={"X-API-Key": api_key},
params={"job_id": job_id},
)
data = response.json()These fields are the ones most clients map into internal orchestration or UI logic.
statusRepresents the current internal stage of the job.
stateA simplified pending or done state for polling logic.
progressAn approximate numeric progress indicator.
final_urlThe resolved output when a single final asset is requested.
final_urlsA map of generated variations returned for more advanced workflows.
warningsOptional non-blocking information that should still be logged or reviewed.
ignored_variationsVariations intentionally skipped during processing.
These are the high-level status endpoint situations to handle in client code.
Returned when the API key is missing or invalid on a status request.
Returned when the requested job_id cannot be found.
Returned when job_id is missing or malformed.
Returned when the job fails terminally or the service is unavailable.