GET /api/result/{id}#
Retrieve execution result for a submission.
Request#
curl -s "https://rustbox.orkait.com/api/result/550e8400-e29b-41d4-a716-446655440000" \
-H "X-API-Key: rb_live_your_key_here" | jq
Response#
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"language": "python",
"job_status": "completed",
"schema_version": "1.0",
"verdict": "AC",
"exit_code": 0,
"signal": null,
"stdout": "hello world\n",
"stderr": "",
"output_integrity": "complete",
"error_message": null,
"cpu_time_secs": 0.015,
"wall_time_secs": 0.052,
"memory_peak_bytes": 8400000,
"evidence": {
"verdict_cause": "normal_exit",
"verdict_actor": "runtime",
"isolation_mode": "strict",
"controls_applied": ["pid_namespace", "mount_namespace", "network_namespace", "memory_limit", "process_limit", "no_new_privileges"],
"controls_missing": [],
"cgroup": {
"memory_limit_bytes": 268435456,
"memory_peak_bytes": 8400000,
"oom_events": 0,
"oom_kill_events": 0,
"cpu_usage_usec": 15000,
"process_count": 0,
"process_limit": 10
},
"timing": {
"cpu_ms": 15,
"wall_ms": 52,
"cpu_wall_ratio": 0.29,
"divergence": "cpu_bound"
},
"process_lifecycle": {
"reap_status": "clean",
"descendant_containment": "ok",
"zombie_count": 0
},
"judge_actions": [],
"collection_errors": []
},
"created_at": "2026-04-02T12:00:00.000Z",
"started_at": "2026-04-02T12:00:00.001Z",
"completed_at": "2026-04-02T12:00:00.053Z"
}
Response fields#
Top-level fields#
Field Type Present Description idstring (UUID) always Submission identifier languagestring always Language used for execution job_statusstring always pending, running, completed, or errorschema_versionstring always API schema version (currently "1.0") verdictstring or null when completed Verdict code: AC, RE, TLE, MLE, PLE, FSE, SIG, IE exit_codeinteger or null when completed Process exit code signalinteger or null when completed Signal number that killed the process, or null stdoutstring or null when completed Captured standard output stderrstring or null when completed Captured standard error output_integritystring or null when completed complete, truncated_by_judge_limit, crash_mid_write, or write_errorerror_messagestring or null when completed Human-readable error description, or null on success cpu_time_secsnumber or null when completed CPU time consumed in seconds wall_time_secsnumber or null when completed Wall clock time in seconds memory_peak_bytesinteger or null when completed Peak resident memory in bytes evidenceobject or null when completed Kernel-backed execution evidence (see below) created_atstring always ISO 8601 timestamp when the submission was created started_atstring or null when started ISO 8601 timestamp when execution began completed_atstring or null when completed ISO 8601 timestamp when execution finished
output_integrity values#
Value Meaning completeAll output was captured without loss truncated_by_judge_limitOutput exceeded the capture limit and was truncated crash_mid_writeProcess crashed while writing output write_errorAn I/O error occurred during output capture
evidence object#
Field Type Description verdict_causestring Why the verdict was assigned (e.g. normal_exit, oom_kill, wall_timeout) verdict_actorstring What assigned the verdict (runtime, kernel, supervisor) isolation_modestring Isolation level applied (strict) controls_appliedstring[] Security controls active during execution controls_missingstring[] Controls that could not be applied (normally empty) cgroupobject Cgroup accounting data (see below) timingobject Timing breakdown (see below) process_lifecycleobject Process reaping and containment status judge_actionsarray Actions taken by the supervisor (e.g. SIGKILL on timeout) collection_errorsstring[] Errors encountered while collecting evidence
evidence.cgroup object#
Field Type Description memory_limit_bytesinteger Memory limit applied to the cgroup memory_peak_bytesinteger Peak memory usage recorded by the cgroup oom_eventsinteger Number of OOM events oom_kill_eventsinteger Number of OOM kill events cpu_usage_usecinteger CPU time in microseconds process_countinteger Number of processes at collection time process_limitinteger PID limit applied to the cgroup
evidence.timing object#
Field Type Description cpu_msinteger CPU time in milliseconds wall_msinteger Wall clock time in milliseconds cpu_wall_rationumber Ratio of CPU to wall time divergencestring Timing classification (e.g. cpu_bound, io_bound)
evidence.process_lifecycle object#
Field Type Description reap_statusstring Whether all processes were cleanly reaped (clean) descendant_containmentstring Whether all child processes were contained (ok) zombie_countinteger Number of zombie processes at collection time
Status lifecycle#
pending -> running -> completed
-> error
Status Meaning pendingQueued, waiting for a worker runningExecuting in a sandbox completedFinished (check verdict for the outcome) errorInternal failure
Verdicts#
Code Name What happened ACAccepted Clean exit, code 0 RERuntime Error Non-zero exit or crash TLETime Limit Exceeded Wall time exceeded MLEMemory Limit Exceeded OOM killed by cgroup PLEProcess Limit Exceeded Fork/thread bomb hit cgroup PID limit FSEFile Size Exceeded SIGXFSZ from RLIMIT_FSIZE SIGSignaled Killed by signal (not attributed to platform) IEInternal Error Platform infrastructure failed
Every verdict is backed by kernel evidence. MLE means the cgroup OOM killer fired. TLE means the wall timer expired. PLE means the cgroup PID limit was reached. FSE means a write exceeded the file size rlimit. The platform does not guess verdicts from exit codes.
What happens on timeout#
When a submission exceeds its wall time limit, the supervisor sends SIGKILL to the process. The resulting verdict is TLE.
Because the process is forcibly killed, stdout may be incomplete. Check the output_integrity field - it will indicate crash_mid_write or truncated_by_judge_limit if output was not fully captured.
The evidence.judge_actions array will contain the kill event, and evidence.verdict_cause will be wall_timeout. Example:
{
"verdict": "TLE",
"wall_time_secs": 7.001,
"output_integrity": "crash_mid_write",
"evidence": {
"verdict_cause": "wall_timeout",
"verdict_actor": "supervisor",
"judge_actions": ["sigkill_on_wall_timeout"]
}
}
Not found#
{ "error": "submission not found" }