Get submission detail and job summaries
curl --request GET \
--url https://api.idunox.com/v1/submissions/{submissionId} \
--header 'X-Api-Key: <api-key>'import requests
url = "https://api.idunox.com/v1/submissions/{submissionId}"
headers = {"X-Api-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Api-Key': '<api-key>'}};
fetch('https://api.idunox.com/v1/submissions/{submissionId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"submissionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"subjectId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"partnerSubmissionId": "<string>",
"partnerSubjectId": "<string>",
"status": "received",
"statusLabel": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"counts": {
"documents": 1,
"results": 1,
"artifacts": 1
},
"jobs": [
{
"jobId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "pipeline.ingest_validate",
"typeLabel": "<string>",
"status": "pending",
"statusLabel": "<string>",
"correlationId": "<string>",
"queuedAt": "2023-11-07T05:31:56Z",
"startedAt": "2023-11-07T05:31:56Z",
"completedAt": "2023-11-07T05:31:56Z",
"acceptedAt": "2023-11-07T05:31:56Z",
"failedAt": "2023-11-07T05:31:56Z",
"slaDeadlineAt": "2023-11-07T05:31:56Z",
"processingDurationMs": 123,
"slaBreached": true,
"attempts": 1,
"maxAttempts": 1,
"errorSummary": "<string>"
}
]
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "Invalid submission payload",
"requestId": "550e8400-e29b-41d4-a716-446655440000",
"correlationId": "corr-example-1",
"details": {}
}
}{
"error": {
"code": "INVALID_API_KEY",
"message": "Invalid or expired API key",
"requestId": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"requestId": "<string>",
"correlationId": "<string>",
"details": "<unknown>"
}
}{
"error": {
"code": "NOT_FOUND",
"message": "Submission not found",
"requestId": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "INTERNAL_ERROR",
"message": "Internal server error",
"requestId": "550e8400-e29b-41d4-a716-446655440000"
}
}Endpoints
Get submission
Retrieve submission status and linked job summaries.
GET
/
v1
/
submissions
/
{submissionId}
Get submission detail and job summaries
curl --request GET \
--url https://api.idunox.com/v1/submissions/{submissionId} \
--header 'X-Api-Key: <api-key>'import requests
url = "https://api.idunox.com/v1/submissions/{submissionId}"
headers = {"X-Api-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Api-Key': '<api-key>'}};
fetch('https://api.idunox.com/v1/submissions/{submissionId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"submissionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"subjectId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"partnerSubmissionId": "<string>",
"partnerSubjectId": "<string>",
"status": "received",
"statusLabel": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"counts": {
"documents": 1,
"results": 1,
"artifacts": 1
},
"jobs": [
{
"jobId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "pipeline.ingest_validate",
"typeLabel": "<string>",
"status": "pending",
"statusLabel": "<string>",
"correlationId": "<string>",
"queuedAt": "2023-11-07T05:31:56Z",
"startedAt": "2023-11-07T05:31:56Z",
"completedAt": "2023-11-07T05:31:56Z",
"acceptedAt": "2023-11-07T05:31:56Z",
"failedAt": "2023-11-07T05:31:56Z",
"slaDeadlineAt": "2023-11-07T05:31:56Z",
"processingDurationMs": 123,
"slaBreached": true,
"attempts": 1,
"maxAttempts": 1,
"errorSummary": "<string>"
}
]
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "Invalid submission payload",
"requestId": "550e8400-e29b-41d4-a716-446655440000",
"correlationId": "corr-example-1",
"details": {}
}
}{
"error": {
"code": "INVALID_API_KEY",
"message": "Invalid or expired API key",
"requestId": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"requestId": "<string>",
"correlationId": "<string>",
"details": "<unknown>"
}
}{
"error": {
"code": "NOT_FOUND",
"message": "Submission not found",
"requestId": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "INTERNAL_ERROR",
"message": "Internal server error",
"requestId": "550e8400-e29b-41d4-a716-446655440000"
}
}Returns the current partner-facing status of a submission and processing jobs. Use this to poll for progress if you are not using webhooks.
Statuses are lowercase strings with a human-readable
When complete, follow the
Status values
| Status | Meaning |
|---|---|
received | Submission accepted |
validating | Validation in progress |
validated | Validated, pipeline starting |
processing | Inference and report pipeline running |
completed | Finished — use resultId from the detail payload when present |
failed | Processing failed |
rejected | Rejected (e.g. policy or validation at ingest) |
statusLabel. They are partner-facing labels, not raw database enum names.
All resources are scoped to your account. A submissionId from another account returns 404.
Example request
curl -H "Authorization: Bearer <your-api-key>" \
https://api.idunox.com/v1/submissions/<submissionId>
resultId (or webhook) to GET /v1/results/{resultId}.Authorizations
partnerApiKeypartnerBearer
Plaintext API key issued for the tenant (stored hashed server-side).
Headers
Optional; echoed when possible. Server generates when absent.
Path Parameters
Response
Submission scoped to tenant; enforces optional metadata.partnerId scoping
Stable public slug for submission pipeline state (partner JSON).
Available options:
received, validating, validated, processing, completed, failed, rejected Human-readable label for status (e.g. Processing).
Minimum string length:
1Show child attributes
Show child attributes
Show child attributes
Show child attributes