curl --request GET \
--url https://omnicommerce.sg/api/v1/returns/actions/jobs \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://omnicommerce.sg/api/v1/returns/actions/jobs', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://omnicommerce.sg/api/v1/returns/actions/jobs"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"ok": true,
"apiVersion": "<string>",
"operationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "completed",
"data": {
"correlations": [
{
"kind": "return_action",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
],
"success": true,
"returnIds": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"jobIds": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"succeededCount": 4503599627370495,
"failedCount": 4503599627370495,
"pendingCount": 4503599627370495,
"results": [
{
"returnId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"jobId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"success": true,
"status": "queued",
"evidence": {
"accepted": true,
"verified": true,
"statusBefore": "<string>",
"statusAfter": "<string>"
},
"error": "<string>"
}
]
},
"links": {},
"warnings": [
"<string>"
],
"recommendations": [
"<string>"
]
}Get Return Action Jobs
Authorization
Requires orders:read.
Job outcomes
Read the current state of 1–50 return-processing job UUIDs in one request using repeated jobIds parameters. Use every job ID returned by submission. Results preserve first-requested order. pendingCount counts queued, running and submitting; succeededCount counts succeeded; failedCount includes failed and needs_review. data.success is true only if every requested job succeeded. The top-level completed status refers to this lookup, not to the jobs. Missing or cross-organization jobs return 404; jobs outside assigned stores are forbidden. Evidence contains accepted/verified flags and before/after marketplace statuses, without raw provider payloads.
curl --request GET \
--url https://omnicommerce.sg/api/v1/returns/actions/jobs \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://omnicommerce.sg/api/v1/returns/actions/jobs', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://omnicommerce.sg/api/v1/returns/actions/jobs"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"ok": true,
"apiVersion": "<string>",
"operationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "completed",
"data": {
"correlations": [
{
"kind": "return_action",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
],
"success": true,
"returnIds": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"jobIds": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"succeededCount": 4503599627370495,
"failedCount": 4503599627370495,
"pendingCount": 4503599627370495,
"results": [
{
"returnId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"jobId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"success": true,
"status": "queued",
"evidence": {
"accepted": true,
"verified": true,
"statusBefore": "<string>",
"statusAfter": "<string>"
},
"error": "<string>"
}
]
},
"links": {},
"warnings": [
"<string>"
],
"recommendations": [
"<string>"
]
}Authorizations
Bearer API key for server-to-server access. Session auth is also supported in first-party UI flows.
Query Parameters
Repeat this query parameter for each UUID. Between 1 and 50 entries, deduplicated in first-requested order.
1 - 50 elements^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$Session callers only. API keys resolve organization scope from the credential.
1 - 120Response
Request completed. Inspect data.success, per-target results and pendingCount for processing progress.