Spaces:
Build error
Create a Submission [POST]
Creates new submission. Created submission waits in queue to be processed. On successful creation, you are returned submission token which can be used to check submission status.
If submission's source_code
, stdin
or expected_output
contains non printable characters, or
characters which cannot be sent with JSON, then set base64_encoded
parameter to true
and
send these attributes Base64 encoded. Your responsibility is to encode each of mentioned attributes
(source_code
, stdin
and expected_output
) even if just one of them contains non printable
characters. By default, this parameter is set to false
and Judge0 assumes you are sending plain text data.
By default you are returned submission token on successful submission creation. With this token you can check submission status.
Instead of checking submission status by making another request, you can set the wait
query parameter to true
which will enable you to get submission status immediately as part of response to the request you made.
Please note that this feature may or may not be enabled on all Judge0 hosts. So before using this feature please check configuration of Judge0 you are using. On an official Judge0 this feature is not enabled.
::: note
Note
* We **do not** recommend the use of `wait=true` feature because it does not scale well. :::Parameters
- base64_encoded =
false
(optional, boolean,false
) ... Set totrue
if you want to send Base64 encoded data to Judge0. - wait =
false
(optional, boolean,false
) ... Set totrue
to immediately get submission result.
- base64_encoded =
Request (application/json) { "source_code": "#include <stdio.h>\n\nint main(void) {\n char name[10];\n scanf("%s", name);\n printf("hello, %s\n", name);\n return 0;\n}", "language_id": 4, "stdin": "world" }
Response 201 (application/json) { "token": "d85cd024-1548-4165-96c7-7bc88673f194" }
Request (application/json) { "source_code": "#include <stdio.h>\n\nint main(void) {\n char name[10];\n scanf("%s", name);\n printf("hello, %s\n", name);\n return 0;\n}" }
Response 422 (application/json) { "language_id": [ "can't be blank" ] }
Request (application/json) { "source_code": "#include <stdio.h>\n\nint main(void) {\n char name[10];\n scanf("%s", name);\n printf("hello, %s\n", name);\n return 0;\n}", "language_id": 150000, "stdin": "world", "expected_output": "hello, world" }
Response 422 (application/json) { "language_id": [ "language with id 150000 doesn't exist" ] }
Request (application/json) { "source_code": "#include <stdio.h>\n\nint main(void) {\n char name[10];\n scanf("%s", name);\n printf("hello, %s\n", name);\n return 0;\n}", "language_id": 4, "number_of_runs": 1, "stdin": "Judge0", "expected_output": "hello, Judge0", "cpu_time_limit": 1, "cpu_extra_time": 0.5, "wall_time_limit": 100000, "memory_limit": 128000, "stack_limit": 128000, "enable_per_process_and_thread_time_limit": false, "enable_per_process_and_thread_memory_limit": false, "max_file_size": 1024 }
Response 422 (application/json) { "wall_time_limit": [ "must be less than or equal to 150" ] }
Request (appliction/json) Sending Base64 encoded
source_code
andstdin
. Note that in this requestbase64_encoded
query parameter must be set totrue
.- Body { "source_code": "I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbWFpbih2b2lkKSB7CiAgY2hhciBuYW1lWzEwXTsKICBzY2FuZigiJXMiLCBuYW1lKTsKICBwcmludGYoImhlbGxvLCAlc1xuIiwgbmFtZSk7CiAgcmV0dXJuIDA7Cn0=", "language_id": 4, "input": "SnVkZ2Uw" }
Response 201 (application/json) { "token": "f3fe0215-72f3-4fe6-97f5-353df6682db4" }
Request (application/json) Creating a submission with
wait=true
that results with one or more attributes that cannot be serialized to JSON without Base64 encoding.- Body { "language_id": 70, "source_code": "print("\xFE")" }
Response 201 (application/json) { "token": "fcd0de6d-ee52-4a9d-8a00-6e0d98d394cf", "error": "some attributes for this submission cannot be converted to UTF-8, use base64_encoded=true query parameter" }
Request (application/json) Waiting for submission to finish. Note that in this request
wait
query parameter must be set totrue
.- Body { "source_code": "#include <stdio.h>\n\nint main(void) {\n char name[10];\n scanf("%s", name);\n printf("hello, %s\n", name);\n return 0;\n}", "language_id": "4", "stdin": "Judge0", "expected_output": "hello, Judge0" }
Response 201 (application/json) { "stdout": "hello, Judge0\n", "time": "0.001", "memory": 380, "stderr": null, "token": "eb0dd001-66db-47f4-8a69-b736c9bc23f6", "compile_output": null, "message": null, "status": { "id": 3, "description": "Accepted" } }
Response 400 (application/json) If wait is not allowed.
- Body { "error": "wait not allowed" }
Response 503 (application/json) If submission queue is full.
- Body { "error": "queue is full" }