curl --request GET \
--url https://api.evalezy.com/v1/submissions/{submissionId} \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.evalezy.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.evalezy.com/v1/submissions/{submissionId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"exam_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"candidate": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"external_id": "<string>"
},
"state": "live",
"replaced_by": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "queued",
"lane": "<string>",
"pages": 123,
"needs_review": true,
"review_reasons": [
"<string>"
],
"finalized": true,
"finalized_at": "2023-11-07T05:31:56Z",
"progress": {
"step": "<string>",
"questions_done": 123,
"questions_total": 123,
"estimated_ready_at": "2023-11-07T05:31:56Z"
},
"queue": {
"position": 123,
"estimated_ready_at": "2023-11-07T05:31:56Z"
},
"attempt_count": 123,
"rubric_version": 123,
"credits_charged": 123,
"error": {
"code": "<string>",
"message": "<string>"
},
"metadata": {},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"error": {
"code": "invalid_api_key",
"message": "The API key is not valid.",
"request_id": "req_4f9c2a7e1b3d4c8a9e6f0b2d5a7c1e3f"
}
}{
"error": {
"code": "insufficient_scope",
"message": "This API key lacks the evaluation:write scope.",
"request_id": "req_4f9c2a7e1b3d4c8a9e6f0b2d5a7c1e3f",
"details": {
"required_scope": "evaluation:write"
}
}
}{
"error": {
"code": "not_found",
"message": "The resource was not found.",
"request_id": "req_4f9c2a7e1b3d4c8a9e6f0b2d5a7c1e3f"
}
}{
"error": {
"code": "rate_limited",
"message": "Too many requests. Retry after 2 s.",
"request_id": "req_4f9c2a7e1b3d4c8a9e6f0b2d5a7c1e3f"
}
}Get a submission
Returns a submission’s status, with queue position and estimated ready time while it is queued.
Scope: evaluation:read
curl --request GET \
--url https://api.evalezy.com/v1/submissions/{submissionId} \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.evalezy.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.evalezy.com/v1/submissions/{submissionId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"exam_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"candidate": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"external_id": "<string>"
},
"state": "live",
"replaced_by": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "queued",
"lane": "<string>",
"pages": 123,
"needs_review": true,
"review_reasons": [
"<string>"
],
"finalized": true,
"finalized_at": "2023-11-07T05:31:56Z",
"progress": {
"step": "<string>",
"questions_done": 123,
"questions_total": 123,
"estimated_ready_at": "2023-11-07T05:31:56Z"
},
"queue": {
"position": 123,
"estimated_ready_at": "2023-11-07T05:31:56Z"
},
"attempt_count": 123,
"rubric_version": 123,
"credits_charged": 123,
"error": {
"code": "<string>",
"message": "<string>"
},
"metadata": {},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"error": {
"code": "invalid_api_key",
"message": "The API key is not valid.",
"request_id": "req_4f9c2a7e1b3d4c8a9e6f0b2d5a7c1e3f"
}
}{
"error": {
"code": "insufficient_scope",
"message": "This API key lacks the evaluation:write scope.",
"request_id": "req_4f9c2a7e1b3d4c8a9e6f0b2d5a7c1e3f",
"details": {
"required_scope": "evaluation:write"
}
}
}{
"error": {
"code": "not_found",
"message": "The resource was not found.",
"request_id": "req_4f9c2a7e1b3d4c8a9e6f0b2d5a7c1e3f"
}
}{
"error": {
"code": "rate_limited",
"message": "Too many requests. Retry after 2 s.",
"request_id": "req_4f9c2a7e1b3d4c8a9e6f0b2d5a7c1e3f"
}
}Authorizations
Your institute's API key, vak_eval_ followed by 48 hex characters. An institute admin creates keys in the dashboard under Settings -> Integrations -> API keys.
Path Parameters
Submission id (UUID).
Response
OK
Status of one submission. Create, get, lists and the feed all return this shape.
Show child attributes
Show child attributes
live for the current submission; replaced or deleted otherwise.
"live"
Present when this submission was replaced.
queued, processing, reading, grading, graded, partially_graded, failed, cancelled copy (handwritten) or typed.
Page count of the handwritten copy.
Submission-level reasons, e.g. pages_beyond_vision_limit.
Show child attributes
Show child attributes
Only while queued.
Show child attributes
Show child attributes
How many evaluation runs this submission has had.
Charged credits once graded; 0 for a typed submission with only objective answers; null while running or when failed/cancelled.
Only when failed, e.g. copy_unreadable or language_not_supported.
Show child attributes
Show child attributes