Spaces:
Build error
Build error
<html><head><meta charset="utf-8"><title>Judge0 CE - API Docs</title><link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css"><style>@import url('https://fonts.googleapis.com/css?family=Roboto:400,700|Inconsolata|Raleway:200');.hljs-comment,.hljs-title{color:#8e908c}.hljs-variable,.hljs-attribute,.hljs-tag,.hljs-regexp,.ruby .hljs-constant,.xml .hljs-tag .hljs-title,.xml .hljs-pi,.xml .hljs-doctype,.html .hljs-doctype,.css .hljs-id,.css .hljs-class,.css .hljs-pseudo{color:#c82829}.hljs-number,.hljs-preprocessor,.hljs-pragma,.hljs-built_in,.hljs-literal,.hljs-params,.hljs-constant{color:#f5871f}.ruby .hljs-class .hljs-title,.css .hljs-rules .hljs-attribute{color:#eab700}.hljs-string,.hljs-value,.hljs-inheritance,.hljs-header,.ruby .hljs-symbol,.xml .hljs-cdata{color:#718c00}.css .hljs-hexcolor{color:#3e999f}.hljs-function,.python .hljs-decorator,.python .hljs-title,.ruby .hljs-function .hljs-title,.ruby .hljs-title .hljs-keyword,.perl .hljs-sub,.javascript .hljs-title,.coffeescript .hljs-title{color:#4271ae}.hljs-keyword,.javascript .hljs-function{color:#8959a8}.hljs{display:block;background:white;color:#4d4d4c;padding:.5em}.coffeescript .javascript,.javascript .xml,.tex .hljs-formula,.xml .javascript,.xml .vbscript,.xml .css,.xml .hljs-cdata{opacity:.5}.right .hljs-comment{color:#969896}.right .css .hljs-class,.right .css .hljs-id,.right .css .hljs-pseudo,.right .hljs-attribute,.right .hljs-regexp,.right .hljs-tag,.right .hljs-variable,.right .html .hljs-doctype,.right .ruby .hljs-constant,.right .xml .hljs-doctype,.right .xml .hljs-pi,.right .xml .hljs-tag .hljs-title{color:#c66}.right .hljs-built_in,.right .hljs-constant,.right .hljs-literal,.right .hljs-number,.right .hljs-params,.right .hljs-pragma,.right .hljs-preprocessor{color:#de935f}.right .css .hljs-rule .hljs-attribute,.right .ruby .hljs-class .hljs-title{color:#f0c674}.right .hljs-header,.right .hljs-inheritance,.right .hljs-name,.right .hljs-string,.right .hljs-value,.right .ruby .hljs-symbol,.right .xml .hljs-cdata{color:#b5bd68}.right .css .hljs-hexcolor,.right .hljs-title{color:#8abeb7}.right .coffeescript .hljs-title,.right .hljs-function,.right .javascript .hljs-title,.right .perl .hljs-sub,.right .python .hljs-decorator,.right .python .hljs-title,.right .ruby .hljs-function .hljs-title,.right .ruby .hljs-title .hljs-keyword{color:#81a2be}.right .hljs-keyword,.right .javascript .hljs-function{color:#b294bb}.right .hljs{display:block;overflow-x:auto;background:#1d1f21;color:#c5c8c6;padding:.5em;-webkit-text-size-adjust:none}.right .coffeescript .javascript,.right .javascript .xml,.right .tex .hljs-formula,.right .xml .css,.right .xml .hljs-cdata,.right .xml .javascript,.right .xml .vbscript{opacity:.5}body{color:black;background:white;font:400 14px / 1.42 'Roboto',Helvetica,sans-serif}header{border-bottom:1px solid #f2f2f2;margin-bottom:12px}h1,h2,h3,h4,h5{color:black;margin:12px 0}h1 .permalink,h2 .permalink,h3 .permalink,h4 .permalink,h5 .permalink{margin-left:0;opacity:0;transition:opacity .25s ease}h1:hover .permalink,h2:hover .permalink,h3:hover .permalink,h4:hover .permalink,h5:hover .permalink{opacity:1}.triple h1 .permalink,.triple h2 .permalink,.triple h3 .permalink,.triple h4 .permalink,.triple h5 .permalink{opacity:.15}.triple h1:hover .permalink,.triple h2:hover .permalink,.triple h3:hover .permalink,.triple h4:hover .permalink,.triple h5:hover .permalink{opacity:.15}h1{font:200 36px 'Raleway',Helvetica,sans-serif;font-size:36px}h2{font:200 36px 'Raleway',Helvetica,sans-serif;font-size:30px}h3{font-size:100%;text-transform:uppercase}h5{font-size:100%;font-weight:normal}p{margin:0 0 10px}p.choices{line-height:1.6}a{color:#428bca;text-decoration:none}li p{margin:0}hr.split{border:0;height:1px;width:100%;padding-left:6px;margin:12px auto;background-image:linear-gradient(to right, rgba(0,0,0,0) 20%, rgba(0,0,0,0.2) 51.4%, rgba(255,255,255,0.2) 51.4%, rgba(255,255,255,0) 80%)}dl dt{float:left;width:130px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}dl dd{margin-left:150px}blockquote{color:rgba(0,0,0,0.5);font-size:15.5px;padding:10px 20px;margin:12px 0;border-left:5px solid #e8e8e8}blockquote p:last-child{margin-bottom:0}pre{background-color:#f5f5f5;padding:12px;border:1px solid #cfcfcf;border-radius:6px;overflow:auto}pre code{color:black;background-color:transparent;padding:0;border:none}code{color:#444;background-color:#f5f5f5;font:'Inconsolata',monospace;padding:1px 4px;border:1px solid #cfcfcf;border-radius:3px}ul,ol{padding-left:2em}table{border-collapse:collapse;border-spacing:0;margin-bottom:12px}table tr:nth-child(2n){background-color:#fafafa}table th,table td{padding:6px 12px;border:1px solid #e6e6e6}.text-muted{opacity:.5}.note,.warning{padding:.3em 1em;margin:1em 0;border-radius:2px;font-size:90%}.note h1,.warning h1,.note h2,.warning h2,.note h3,.warning h3,.note h4,.warning h4,.note h5,.warning h5,.note h6,.warning h6{font-family:200 36px 'Raleway',Helvetica,sans-serif;font-size:135%;font-weight:500}.note p,.warning p{margin:.5em 0}.note{color:black;background-color:#f0f6fb;border-left:4px solid #428bca}.note h1,.note h2,.note h3,.note h4,.note h5,.note h6{color:#428bca}.warning{color:black;background-color:#fbf1f0;border-left:4px solid #c9302c}.warning h1,.warning h2,.warning h3,.warning h4,.warning h5,.warning h6{color:#c9302c}header{margin-top:24px}nav{position:fixed;top:24px;bottom:0;overflow-y:auto}nav .resource-group{padding:0}nav .resource-group .heading{position:relative}nav .resource-group .heading .chevron{position:absolute;top:12px;right:12px;opacity:.5}nav .resource-group .heading a{display:block;color:black;opacity:.7;border-left:2px solid transparent;margin:0}nav .resource-group .heading a:hover{text-decoration:none;background-color:bad-color;border-left:2px solid black}nav ul{list-style-type:none;padding-left:0}nav ul a{display:block;font-size:13px;color:rgba(0,0,0,0.7);padding:8px 12px;border-top:1px solid #d9d9d9;border-left:2px solid transparent;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}nav ul a:hover{text-decoration:none;background-color:bad-color;border-left:2px solid black}nav ul>li{margin:0}nav ul>li:first-child{margin-top:-12px}nav ul>li:last-child{margin-bottom:-12px}nav ul ul a{padding-left:24px}nav ul ul li{margin:0}nav ul ul li:first-child{margin-top:0}nav ul ul li:last-child{margin-bottom:0}nav>div>div>ul>li:first-child>a{border-top:none}.preload *{transition:none }.pull-left{float:left}.pull-right{float:right}.badge{display:inline-block;float:right;min-width:10px;min-height:14px;padding:3px 7px;font-size:12px;color:#000;background-color:#f2f2f2;border-radius:10px;margin:-2px 0}.badge.get{color:#70bbe1;background-color:#d9edf7}.badge.head{color:#70bbe1;background-color:#d9edf7}.badge.options{color:#70bbe1;background-color:#d9edf7}.badge.put{color:#f0db70;background-color:#fcf8e3}.badge.patch{color:#f0db70;background-color:#fcf8e3}.badge.post{color:#93cd7c;background-color:#dff0d8}.badge.delete{color:#ce8383;background-color:#f2dede}.collapse-button{float:right}.collapse-button .close{display:none;color:#428bca;cursor:pointer}.collapse-button .open{color:#428bca;cursor:pointer}.collapse-button.show .close{display:inline}.collapse-button.show .open{display:none}.collapse-content{max-height:0;overflow:hidden;transition:max-height .3s ease-in-out}nav{width:220px}.container{max-width:940px;margin-left:auto;margin-right:auto}.container .row .content{margin-left:244px;width:696px}.container .row:after{content:'';display:block;clear:both}.container-fluid nav{width:22%}.container-fluid .row .content{margin-left:24%}.container-fluid.triple nav{width:16.5%;padding-right:1px}.container-fluid.triple .row .content{position:relative;margin-left:16.5%;padding-left:24px}.middle:before,.middle:after{content:'';display:table}.middle:after{clear:both}.middle{box-sizing:border-box;width:51.5%;padding-right:12px}.right{box-sizing:border-box;float:right;width:48.5%;padding-left:12px}.right a{color:#428bca}.right h1,.right h2,.right h3,.right h4,.right h5,.right p,.right div{color:white}.right pre{background-color:#1d1f21;border:1px solid #1d1f21}.right pre code{color:#c5c8c6}.right .description{margin-top:12px}.triple .resource-heading{font-size:125%}.definition{margin-top:12px;margin-bottom:12px}.definition .method{font-weight:bold}.definition .method.get{color:#2e8ab8}.definition .method.head{color:#2e8ab8}.definition .method.options{color:#2e8ab8}.definition .method.post{color:#56b82e}.definition .method.put{color:#b8a22e}.definition .method.patch{color:#b8a22e}.definition .method.delete{color:#b82e2e}.definition .uri{word-break:break-all;word-wrap:break-word}.definition .hostname{opacity:.5}.example-names{background-color:#eee;padding:12px;border-radius:6px}.example-names .tab-button{cursor:pointer;color:black;border:1px solid #ddd;padding:6px;margin-left:12px}.example-names .tab-button.active{background-color:#d5d5d5}.right .example-names{background-color:#444}.right .example-names .tab-button{color:white;border:1px solid #666;border-radius:6px}.right .example-names .tab-button.active{background-color:#5e5e5e}#nav-background{position:fixed;left:0;top:0;bottom:0;width:16.5%;padding-right:14.4px;background-color:#fbfbfb;border-right:1px solid #f0f0f0;z-index:-1}#right-panel-background{position:absolute;right:-12px;top:-12px;bottom:-12px;width:48.6%;background-color:#333;z-index:-1}@media (max-width:1200px){nav{width:198px}.container{max-width:840px}.container .row .content{margin-left:224px;width:606px}}@media (max-width:992px){nav{width:169.4px}.container{max-width:720px}.container .row .content{margin-left:194px;width:526px}}@media (max-width:768px){nav{display:none}.container{width:95%;max-width:none}.container .row .content,.container-fluid .row .content,.container-fluid.triple .row .content{margin-left:auto;margin-right:auto;width:95%}#nav-background{display:none}#right-panel-background{width:48.6%}}.back-to-top{position:fixed;z-index:1;bottom:0;right:24px;padding:4px 8px;color:rgba(0,0,0,0.5);background-color:#f2f2f2;text-decoration:none ;border-top:1px solid #d9d9d9;border-left:1px solid #d9d9d9;border-right:1px solid #d9d9d9;border-top-left-radius:3px;border-top-right-radius:3px}.resource-group{padding:12px;margin-bottom:12px;background-color:white;border:1px solid #d9d9d9;border-radius:6px}.resource-group h2.group-heading,.resource-group .heading a{padding:12px;margin:-12px -12px 12px -12px;background-color:#f2f2f2;border-bottom:1px solid #d9d9d9;border-top-left-radius:6px;border-top-right-radius:6px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.triple .content .resource-group{padding:0;border:none}.triple .content .resource-group h2.group-heading,.triple .content .resource-group .heading a{margin:0 0 12px 0;border:1px solid #d9d9d9}nav .resource-group .heading a{padding:12px;margin-bottom:0}nav .resource-group .collapse-content{padding:0}.action{margin-bottom:12px;padding:12px 12px 0 12px;overflow:hidden;border:1px solid transparent;border-radius:6px}.action h4.action-heading{padding:6px 12px;margin:-12px -12px 12px -12px;border-bottom:1px solid transparent;border-top-left-radius:6px;border-top-right-radius:6px;overflow:hidden}.action h4.action-heading .name{float:right;font-weight:normal;padding:6px 0}.action h4.action-heading .method{padding:6px 12px;margin-right:12px;border-radius:3px;display:inline-block}.action h4.action-heading .method.get{color:#fff;background-color:#337ab7}.action h4.action-heading .method.head{color:#fff;background-color:#337ab7}.action h4.action-heading .method.options{color:#fff;background-color:#337ab7}.action h4.action-heading .method.put{color:#fff;background-color:#ed9c28}.action h4.action-heading .method.patch{color:#fff;background-color:#ed9c28}.action h4.action-heading .method.post{color:#fff;background-color:#5cb85c}.action h4.action-heading .method.delete{color:#fff;background-color:#d9534f}.action h4.action-heading code{color:#444;background-color:#f5f5f5;border-color:#cfcfcf;font-weight:normal;word-break:break-all;display:inline-block;margin-top:2px}.action dl.inner{padding-bottom:2px}.action .title{border-bottom:1px solid white;margin:0 -12px -1px -12px;padding:12px}.action.get{border-color:#bce8f1}.action.get h4.action-heading{color:#337ab7;background:#d9edf7;border-bottom-color:#bce8f1}.action.head{border-color:#bce8f1}.action.head h4.action-heading{color:#337ab7;background:#d9edf7;border-bottom-color:#bce8f1}.action.options{border-color:#bce8f1}.action.options h4.action-heading{color:#337ab7;background:#d9edf7;border-bottom-color:#bce8f1}.action.post{border-color:#d6e9c6}.action.post h4.action-heading{color:#5cb85c;background:#dff0d8;border-bottom-color:#d6e9c6}.action.put{border-color:#faebcc}.action.put h4.action-heading{color:#ed9c28;background:#fcf8e3;border-bottom-color:#faebcc}.action.patch{border-color:#faebcc}.action.patch h4.action-heading{color:#ed9c28;background:#fcf8e3;border-bottom-color:#faebcc}.action.delete{border-color:#ebccd1}.action.delete h4.action-heading{color:#d9534f;background:#f2dede;border-bottom-color:#ebccd1}</style></head><body class="preload"><a href="#top" class="text-muted back-to-top"><i class="fa fa-toggle-up"></i> Back to top</a><div class="container-fluid"><div class="row"><nav><div class="resource-group"><div class="heading"><div class="chevron"><i class="open fa fa-angle-down"></i></div><a href="#top">Overview</a></div><div class="collapse-content"><ul><li><a href="#header-about">About</a></li><li><a href="#header-features">Features</a></li><li><a href="#header-get-started">Get Started</a></li><li><a href="#header-flavors">Flavors</a></li><li><a href="#header-version">Version</a></li><li><a href="#header-date-and-time-formats">Date and time formats</a></li><li><a href="#header-license">License</a></li></ul></div></div><div class="resource-group"><div class="heading"><div class="chevron"><i class="open fa fa-angle-down"></i></div><a href="#authentication">Authentication</a></div><div class="collapse-content"><ul><li><a href="#authentication-authenticate-post"><span class="badge post"><i class="fa fa-plus"></i></span>Authenticate</a></li></ul></div></div><div class="resource-group"><div class="heading"><div class="chevron"><i class="open fa fa-angle-down"></i></div><a href="#authorization">Authorization</a></div><div class="collapse-content"><ul><li><a href="#authorization-authorize-post"><span class="badge post"><i class="fa fa-plus"></i></span>Authorize</a></li></ul></div></div><div class="resource-group"><div class="heading"><div class="chevron"><i class="open fa fa-angle-down"></i></div><a href="#submissions">Submissions</a></div><div class="collapse-content"><ul><li><a href="#submissions-submission">Submission</a><ul><li><a href="#submissions-submission-post"><span class="badge post"><i class="fa fa-plus"></i></span>Create a Submission</a></li><li><a href="#submissions-submission-get"><span class="badge get"><i class="fa fa-arrow-down"></i></span>Get a Submission</a></li><li><a href="#submissions-submission-get-1"><span class="badge get"><i class="fa fa-arrow-down"></i></span>Get Submissions</a></li><li><a href="#submissions-submission-delete"><span class="badge delete"><i class="fa fa-times"></i></span>Delete a Submission</a></li></ul></li><li><a href="#submissions-submission-batch">Submission Batch</a><ul><li><a href="#submissions-submission-batch-post"><span class="badge post"><i class="fa fa-plus"></i></span>Create a Submission Batch</a></li><li><a href="#submissions-submission-batch-get"><span class="badge get"><i class="fa fa-arrow-down"></i></span>Get a Submission Batch</a></li></ul></li></ul></div></div><div class="resource-group"><div class="heading"><div class="chevron"><i class="open fa fa-angle-down"></i></div><a href="#statuses-and-languages">Statuses and Languages</a></div><div class="collapse-content"><ul><li><a href="#statuses-and-languages-language">Language</a><ul><li><a href="#statuses-and-languages-language-get"><span class="badge get"><i class="fa fa-arrow-down"></i></span>Get Languages</a></li><li><a href="#statuses-and-languages-language-get-1"><span class="badge get"><i class="fa fa-arrow-down"></i></span>Get a Language</a></li></ul></li><li><a href="#statuses-and-languages-active-and-archived-languages-get"><span class="badge get"><i class="fa fa-arrow-down"></i></span>Get Active and Archived Languages</a></li><li><a href="#statuses-and-languages-status-get"><span class="badge get"><i class="fa fa-arrow-down"></i></span>Get Statuses</a></li></ul></div></div><div class="resource-group"><div class="heading"><div class="chevron"><i class="open fa fa-angle-down"></i></div><a href="#system-and-configuration">System and Configuration</a></div><div class="collapse-content"><ul><li><a href="#system-and-configuration-system-info-get"><span class="badge get"><i class="fa fa-arrow-down"></i></span>System Info</a></li><li><a href="#system-and-configuration-configuration-info-get"><span class="badge get"><i class="fa fa-arrow-down"></i></span>Configuration Info</a></li></ul></div></div><div class="resource-group"><div class="heading"><div class="chevron"><i class="open fa fa-angle-down"></i></div><a href="#statistics">Statistics</a></div><div class="collapse-content"><ul><li><a href="#statistics-statistics-get"><span class="badge get"><i class="fa fa-arrow-down"></i></span>Statistics</a></li></ul></div></div><div class="resource-group"><div class="heading"><div class="chevron"><i class="open fa fa-angle-down"></i></div><a href="#health-check">Health Check</a></div><div class="collapse-content"><ul><li><a href="#health-check-workers-get"><span class="badge get"><i class="fa fa-arrow-down"></i></span>Workers</a></li></ul></div></div><div class="resource-group"><div class="heading"><div class="chevron"><i class="open fa fa-angle-down"></i></div><a href="#information">Information</a></div><div class="collapse-content"><ul><li><a href="#information-about-get"><span class="badge get"><i class="fa fa-arrow-down"></i></span>About</a></li><li><a href="#information-version-get"><span class="badge get"><i class="fa fa-arrow-down"></i></span>Version</a></li><li><a href="#information-isolate-get"><span class="badge get"><i class="fa fa-arrow-down"></i></span>Isolate</a></li><li><a href="#information-license-get"><span class="badge get"><i class="fa fa-arrow-down"></i></span>License</a></li></ul></div></div><p style="text-align: center; word-wrap: break-word;"><a href="https://ce.judge0.com">https://ce.judge0.com</a></p></nav><div class="content"><header><h1 id="top">Judge0 CE - API Docs</h1></header><script type="text/javascript"> | |
</script> | |
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.1/css/all.min.css" integrity="sha512-+4zCK9k+qNFUR5X+cKL9EIR+ZOhtIloNl9GIKS57V1MyNsYpYcUrUeQc9vNfzsWfV28IaLL3i96P9sdNyeRssA==" crossorigin="anonymous"> | |
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | |
<script type="text/javascript"> | |
document.addEventListener("DOMContentLoaded", function (event) { | |
var tables = document.body.getElementsByTagName("table"); | |
for (var i = 0; i < tables.length; i++) { | |
var t = tables[i]; | |
t.style.marginBottom = 0; | |
t.outerHTML = `<div style="overflow-x: scroll; margin-bottom: 10px;">${t.outerHTML}</div>`; | |
} | |
}); | |
var header = document.querySelector("header"); | |
header.style.backgroundImage = "linear-gradient(45deg,#38D9A9,#4DABF7,#9775FA)"; | |
header.style.textAlign = "center"; | |
header.innerHTML = `<div>${header.innerHTML}</div>`; | |
var wrapper = header.querySelector("div"); | |
wrapper.style.backgroundImage = "url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMDQgMzA0JyB3aWR0aD0nMzA0JyBoZWlnaHQ9JzMwNCc+PHBhdGggZmlsbD0nI2ZmZmZmZicgZmlsbC1vcGFjaXR5PScwLjInIGQ9J000NC4xIDIyNGE1IDUgMCAxIDEgMCAySDB2LTJoNDQuMXptMTYwIDQ4YTUgNSAwIDEgMSAwIDJIODJ2LTJoMTIyLjF6bTU3LjgtNDZhNSA1IDAgMSAxIDAtMkgzMDR2MmgtNDIuMXptMCAxNmE1IDUgMCAxIDEgMC0ySDMwNHYyaC00Mi4xem02LjItMTE0YTUgNSAwIDEgMSAwIDJoLTg2LjJhNSA1IDAgMSAxIDAtMmg4Ni4yem0tMjU2LTQ4YTUgNSAwIDEgMSAwIDJIMHYtMmgxMi4xem0xODUuOCAzNGE1IDUgMCAxIDEgMC0yaDg2LjJhNSA1IDAgMSAxIDAgMmgtODYuMnpNMjU4IDEyLjFhNSA1IDAgMSAxLTIgMFYwaDJ2MTIuMXptLTY0IDIwOGE1IDUgMCAxIDEtMiAwdi01NC4yYTUgNSAwIDEgMSAyIDB2NTQuMnptNDgtMTk4LjJWODBoNjJ2MmgtNjRWMjEuOWE1IDUgMCAxIDEgMiAwem0xNiAxNlY2NGg0NnYyaC00OFYzNy45YTUgNSAwIDEgMSAyIDB6bS0xMjggOTZWMjA4aDE2djEyLjFhNSA1IDAgMSAxLTIgMFYyMTBoLTE2di03Ni4xYTUgNSAwIDEgMSAyIDB6bS01LjktMjEuOWE1IDUgMCAxIDEgMCAySDExNHY0OEg4NS45YTUgNSAwIDEgMSAwLTJIMTEydi00OGgxMi4xem0tNi4yIDEzMGE1IDUgMCAxIDEgMC0ySDE3NnYtNzQuMWE1IDUgMCAxIDEgMiAwVjI0MmgtNjAuMXptLTE2LTY0YTUgNSAwIDEgMSAwLTJIMTE0djQ4aDEwLjFhNSA1IDAgMSAxIDAgMkgxMTJ2LTQ4aC0xMC4xek02NiAyODQuMWE1IDUgMCAxIDEtMiAwVjI3NEg1MHYzMGgtMnYtMzJoMTh2MTIuMXpNMjM2LjEgMTc2YTUgNSAwIDEgMSAwIDJIMjI2djk0aDQ4djMyaC0ydi0zMGgtNDh2LTk4aDEyLjF6bTI1LjgtMzBhNSA1IDAgMSAxIDAtMkgyNzR2NDQuMWE1IDUgMCAxIDEtMiAwVjE0NmgtMTAuMXptLTY0IDk2YTUgNSAwIDEgMSAwLTJIMjA4di04MGgxNnYtMTRoLTQyLjFhNSA1IDAgMSAxIDAtMkgyMjZ2MThoLTE2djgwaC0xMi4xem04Ni4yLTIxMGE1IDUgMCAxIDEgMCAySDI3MlYwaDJ2MzJoMTAuMXpNOTggMTAxLjlWMTQ2SDUzLjlhNSA1IDAgMSAxIDAtMkg5NnYtNDIuMWE1IDUgMCAxIDEgMiAwek01My45IDM0YTUgNSAwIDEgMSAwLTJIODBWMGgydjM0SDUzLjl6bTYwLjEgMy45VjY2SDgydjY0SDY5LjlhNSA1IDAgMSAxIDAtMkg4MFY2NGgzMlYzNy45YTUgNSAwIDEgMSAyIDB6TTEwMS45IDgyYTUgNSAwIDEgMSAwLTJIMTI4VjM3LjlhNSA1IDAgMSAxIDIgMFY4MmgtMjguMXptMTYtNjRhNSA1IDAgMSAxIDAtMkgxNDZ2NDQuMWE1IDUgMCAxIDEtMiAwVjE4aC0yNi4xem0xMDIuMiAyNzBhNSA1IDAgMSAxIDAgMkg5OHYxNGgtMnYtMTZoMTI0LjF6TTI0MiAxNDkuOVYxNjBoMTZ2MzRoLTE2djYyaDQ4djQ4aC0ydi00NmgtNDh2LTY2aDE2di0zMGgtMTZ2LTEyLjFhNSA1IDAgMSAxIDIgMHpNNTMuOSAxOGE1IDUgMCAxIDEgMC0ySDY0VjJINDhWMGgxOHYxOEg1My45em0xMTIgMzJhNSA1IDAgMSAxIDAtMkgxOTJWMGg1MHYyaC00OHY0OGgtMjguMXptLTQ4LTQ4YTUgNSAwIDAgMS05LjgtMmgyLjA3YTMgMyAwIDEgMCA1LjY2IDBIMTc4djM0aC0xOFYyMS45YTUgNSAwIDEgMSAyIDBWMzJoMTRWMmgtNTguMXptMCA5NmE1IDUgMCAxIDEgMC0ySDEzN2wzMi0zMmgzOVYyMS45YTUgNSAwIDEgMSAyIDBWNjZoLTQwLjE3bC0zMiAzMkgxMTcuOXptMjguMSA5MC4xYTUgNSAwIDEgMS0yIDB2LTc2LjUxTDE3NS41OSA4MEgyMjRWMjEuOWE1IDUgMCAxIDEgMiAwVjgyaC00OS41OUwxNDYgMTEyLjQxdjc1LjY5em0xNiAzMmE1IDUgMCAxIDEtMiAwdi05OS41MUwxODQuNTkgOTZIMzAwLjFhNSA1IDAgMCAxIDMuOS0zLjl2Mi4wN2EzIDMgMCAwIDAgMCA1LjY2djIuMDdhNSA1IDAgMCAxLTMuOS0zLjlIMTg1LjQxTDE2MiAxMjEuNDF2OTguNjl6bS0xNDQtNjRhNSA1IDAgMSAxLTIgMHYtMy41MWw0OC00OFY0OGgzMlYwaDJ2NTBINjZ2NTUuNDFsLTQ4IDQ4djIuNjl6TTUwIDUzLjl2NDMuNTFsLTQ4IDQ4VjIwOGgyNi4xYTUgNSAwIDEgMSAwIDJIMHYtNjUuNDFsNDgtNDhWNTMuOWE1IDUgMCAxIDEgMiAwem0tMTYgMTZWODkuNDFsLTM0IDM0di0yLjgybDMyLTMyVjY5LjlhNSA1IDAgMSAxIDIgMHpNMTIuMSAzMmE1IDUgMCAxIDEgMCAySDkuNDFMMCA0My40MVY0MC42TDguNTkgMzJoMy41MXptMjY1LjggMThhNSA1IDAgMSAxIDAtMmgxOC42OWw3LjQxLTcuNDF2Mi44MkwyOTcuNDEgNTBIMjc3Ljl6bS0xNiAxNjBhNSA1IDAgMSAxIDAtMkgyODh2LTcxLjQxbDE2LTE2djIuODJsLTE0IDE0VjIxMGgtMjguMXptLTIwOCAzMmE1IDUgMCAxIDEgMC0ySDY0di0yMi41OUw0MC41OSAxOTRIMjEuOWE1IDUgMCAxIDEgMC0ySDQxLjQxTDY2IDIxNi41OVYyNDJINTMuOXptMTUwLjIgMTRhNSA1IDAgMSAxIDAgMkg5NnYtNTYuNkw1Ni42IDE2MkgzNy45YTUgNSAwIDEgMSAwLTJoMTkuNUw5OCAyMDAuNlYyNTZoMTA2LjF6bS0xNTAuMiAyYTUgNSAwIDEgMSAwLTJIODB2LTQ2LjU5TDQ4LjU5IDE3OEgyMS45YTUgNSAwIDEgMSAwLTJINDkuNDFMODIgMjA4LjU5VjI1OEg1My45ek0zNCAzOS44djEuNjFMOS40MSA2Nkgwdi0yaDguNTlMMzIgNDAuNTlWMGgydjM5Ljh6TTIgMzAwLjFhNSA1IDAgMCAxIDMuOSAzLjlIMy44M0EzIDMgMCAwIDAgMCAzMDIuMTdWMjU2aDE4djQ4aC0ydi00NkgydjQyLjF6TTM0IDI0MXY2M2gtMnYtNjJIMHYtMmgzNHYxek0xNyAxOEgwdi0yaDE2VjBoMnYxOGgtMXptMjczLTJoMTR2MmgtMTZWMGgydjE2em0tMzIgMjczdjE1aC0ydi0xNGgtMTR2MTRoLTJ2LTE2aDE4djF6TTAgOTIuMUE1LjAyIDUuMDIgMCAwIDEgNiA5N2E1IDUgMCAwIDEtNiA0Ljl2LTIuMDdhMyAzIDAgMSAwIDAtNS42NlY5Mi4xek04MCAyNzJoMnYzMmgtMnYtMzJ6bTM3LjkgMzJoLTIuMDdhMyAzIDAgMCAwLTUuNjYgMGgtMi4wN2E1IDUgMCAwIDEgOS44IDB6TTUuOSAwQTUuMDIgNS4wMiAwIDAgMSAwIDUuOVYzLjgzQTMgMyAwIDAgMCAzLjgzIDBINS45em0yOTQuMiAwaDIuMDdBMyAzIDAgMCAwIDMwNCAzLjgzVjUuOWE1IDUgMCAwIDEtMy45LTUuOXptMy45IDMwMC4xdjIuMDdhMyAzIDAgMCAwLTEuODMgMS44M2gtMi4wN2E1IDUgMCAwIDEgMy45LTMuOXpNOTcgMTAwYTMgMyAwIDEgMCAwLTYgMyAzIDAgMCAwIDAgNnptMC0xNmEzIDMgMCAxIDAgMC02IDMgMyAwIDAgMCAwIDZ6bTE2IDE2YTMgMyAwIDEgMCAwLTYgMyAzIDAgMCAwIDAgNnptMTYgMTZhMyAzIDAgMSAwIDAtNiAzIDMgMCAwIDAgMCA2em0wIDE2YTMgMyAwIDEgMCAwLTYgMyAzIDAgMCAwIDAgNnptLTQ4IDMyYTMgMyAwIDEgMCAwLTYgMyAzIDAgMCAwIDAgNnptMTYgMTZhMyAzIDAgMSAwIDAtNiAzIDMgMCAwIDAgMCA2em0zMiA0OGEzIDMgMCAxIDAgMC02IDMgMyAwIDAgMCAwIDZ6bS0xNiAxNmEzIDMgMCAxIDAgMC02IDMgMyAwIDAgMCAwIDZ6bTMyLTE2YTMgMyAwIDEgMCAwLTYgMyAzIDAgMCAwIDAgNnptMC0zMmEzIDMgMCAxIDAgMC02IDMgMyAwIDAgMCAwIDZ6bTE2IDMyYTMgMyAwIDEgMCAwLTYgMyAzIDAgMCAwIDAgNnptMzIgMTZhMyAzIDAgMSAwIDAtNiAzIDMgMCAwIDAgMCA2em0wLTE2YTMgMyAwIDEgMCAwLTYgMyAzIDAgMCAwIDAgNnptLTE2LTY0YTMgMyAwIDEgMCAwLTYgMyAzIDAgMCAwIDAgNnptMTYgMGEzIDMgMCAxIDAgMC02IDMgMyAwIDAgMCAwIDZ6bTE2IDk2YTMgMyAwIDEgMCAwLTYgMyAzIDAgMCAwIDAgNnptMCAxNmEzIDMgMCAxIDAgMC02IDMgMyAwIDAgMCAwIDZ6bTE2IDE2YTMgMyAwIDEgMCAwLTYgMyAzIDAgMCAwIDAgNnptMTYtMTQ0YTMgMyAwIDEgMCAwLTYgMyAzIDAgMCAwIDAgNnptMCAzMmEzIDMgMCAxIDAgMC02IDMgMyAwIDAgMCAwIDZ6bTE2LTMyYTMgMyAwIDEgMCAwLTYgMyAzIDAgMCAwIDAgNnptMTYtMTZhMyAzIDAgMSAwIDAtNiAzIDMgMCAwIDAgMCA2em0tOTYgMGEzIDMgMCAxIDAgMC02IDMgMyAwIDAgMCAwIDZ6bTAgMTZhMyAzIDAgMSAwIDAtNiAzIDMgMCAwIDAgMCA2em0xNi0zMmEzIDMgMCAxIDAgMC02IDMgMyAwIDAgMCAwIDZ6bTk2IDBhMyAzIDAgMSAwIDAtNiAzIDMgMCAwIDAgMCA2em0tMTYtNjRhMyAzIDAgMSAwIDAtNiAzIDMgMCAwIDAgMCA2em0xNi0xNmEzIDMgMCAxIDAgMC02IDMgMyAwIDAgMCAwIDZ6bS0zMiAwYTMgMyAwIDEgMCAwLTYgMyAzIDAgMCAwIDAgNnptMC0xNmEzIDMgMCAxIDAgMC02IDMgMyAwIDAgMCAwIDZ6bS0xNiAwYTMgMyAwIDEgMCAwLTYgMyAzIDAgMCAwIDAgNnptLTE2IDBhMyAzIDAgMSAwIDAtNiAzIDMgMCAwIDAgMCA2em0tMTYgMGEzIDMgMCAxIDAgMC02IDMgMyAwIDAgMCAwIDZ6TTQ5IDM2YTMgMyAwIDEgMCAwLTYgMyAzIDAgMCAwIDAgNnptLTMyIDBhMyAzIDAgMSAwIDAtNiAzIDMgMCAwIDAgMCA2em0zMiAxNmEzIDMgMCAxIDAgMC02IDMgMyAwIDAgMCAwIDZ6TTMzIDY4YTMgMyAwIDEgMCAwLTYgMyAzIDAgMCAwIDAgNnptMTYtNDhhMyAzIDAgMSAwIDAtNiAzIDMgMCAwIDAgMCA2em0wIDI0MGEzIDMgMCAxIDAgMC02IDMgMyAwIDAgMCAwIDZ6bTE2IDMyYTMgMyAwIDEgMCAwLTYgMyAzIDAgMCAwIDAgNnptLTE2LTY0YTMgMyAwIDEgMCAwLTYgMyAzIDAgMCAwIDAgNnptMCAxNmEzIDMgMCAxIDAgMC02IDMgMyAwIDAgMCAwIDZ6bS0xNi0zMmEzIDMgMCAxIDAgMC02IDMgMyAwIDAgMCAwIDZ6bTgwLTE3NmEzIDMgMCAxIDAgMC02IDMgMyAwIDAgMCAwIDZ6bTE2IDBhMyAzIDAgMSAwIDAtNiAzIDMgMCAwIDAgMCA2em0tMTYtMTZhMyAzIDAgMSAwIDAtNiAzIDMgMCAwIDAgMCA2em0zMiA0OGEzIDMgMCAxIDAgMC02IDMgMyAwIDAgMCAwIDZ6bTE2LTE2YTMgMyAwIDEgMCAwLTYgMyAzIDAgMCAwIDAgNnptMC0zMmEzIDMgMCAxIDAgMC02IDMgMyAwIDAgMCAwIDZ6bTExMiAxNzZhMyAzIDAgMSAwIDAtNiAzIDMgMCAwIDAgMCA2em0tMTYgMTZhMyAzIDAgMSAwIDAtNiAzIDMgMCAwIDAgMCA2em0wIDE2YTMgMyAwIDEgMCAwLTYgMyAzIDAgMCAwIDAgNnptMCAxNmEzIDMgMCAxIDAgMC02IDMgMyAwIDAgMCAwIDZ6TTE3IDE4MGEzIDMgMCAxIDAgMC02IDMgMyAwIDAgMCAwIDZ6bTAgMTZhMyAzIDAgMSAwIDAtNiAzIDMgMCAwIDAgMCA2em0wLTMyYTMgMyAwIDEgMCAwLTYgMyAzIDAgMCAwIDAgNnptMTYgMGEzIDMgMCAxIDAgMC02IDMgMyAwIDAgMCAwIDZ6TTE3IDg0YTMgMyAwIDEgMCAwLTYgMyAzIDAgMCAwIDAgNnptMzIgNjRhMyAzIDAgMSAwIDAtNiAzIDMgMCAwIDAgMCA2em0xNi0xNmEzIDMgMCAxIDAgMC02IDMgMyAwIDAgMCAwIDZ6Jz48L3BhdGg+PC9zdmc+)"; | |
wrapper.style.padding = "2%"; | |
var title = header.querySelector("h1"); | |
title.style.color = "white"; | |
</script> | |
<h2 id="header-about">About <a class="permalink" href="#header-about" aria-hidden="true">¶</a></h2> | |
<p><a href="https://ce.judge0.com">Judge0</a> is a robust, scalable, and <a href="https://github.com/judge0/judge0">open-source</a> <strong>online code execution system</strong>. You can use it to build a wide range of applications that need online code execution features. Some examples include competitive programming platforms, e-learning platforms, candidate assessment and recruitment platforms, online code editors, online IDEs, and many more.</p> | |
<p>In our research paper <a href="https://paper.judge0.com">Robust and Scalable Online Code Execution System</a>, we present Judge0’s modern modular architecture that can be easily deployed and scaled. We study its design, comment on the various challenges in building such systems, and compare it with other available online code execution systems and online judge systems.</p> | |
<p>To see Judge0 in action, try <a href="https://ide.judge0.com">Judge0 IDE</a> - our free and open-source online code editor. You can also try using a <a href="/dummy-client.html">dummy client</a> that can help you explore and test most of the features of Judge0.</p> | |
<h2 id="header-features">Features <a class="permalink" href="#header-features" aria-hidden="true">¶</a></h2> | |
<ul style="list-style: none; padding-left: 1em;"> | |
<li><i style="color: #69DB7C; margin-right: 0.1em;" class="fas fa-check-circle"></i> Quick and easy <a href="https://judge0.com/#pricing">installation</a></li> | |
<li><i style="color: #69DB7C; margin-right: 0.1em;" class="fas fa-check-circle"></i> Rich and verbose <a target="_blank" href="https://ce.judge0.com">API documentation</a></li> | |
<li><i style="color: #69DB7C; margin-right: 0.1em;" class="fas fa-check-circle"></i> Scalable architecture</li> | |
<li><i style="color: #69DB7C; margin-right: 0.1em;" class="fas fa-check-circle"></i> Sandboxed compilation and execution</li> | |
<li><i style="color: #69DB7C; margin-right: 0.1em;" class="fas fa-check-circle"></i> Support for <a target="_blank" href="https://github.com/judge0/judge0#supported-languages">60+ languages</a></li> | |
<li><i style="color: #69DB7C; margin-right: 0.1em;" class="fas fa-check-circle"></i> Compilation and execution of multi-file programs</li> | |
<li><i style="color: #69DB7C; margin-right: 0.1em;" class="fas fa-check-circle"></i> Support for additional files alongside the user's program</li> | |
<li><i style="color: #69DB7C; margin-right: 0.1em;" class="fas fa-check-circle"></i> Support for custom user-defined compiler options, command-line arguments, and time and memory limits</li> | |
<li><i style="color: #69DB7C; margin-right: 0.1em;" class="fas fa-check-circle"></i> Detailed execution results</li> | |
<li><i style="color: #69DB7C; margin-right: 0.1em;" class="fas fa-check-circle"></i> Webhooks (HTTP callbacks)</li> | |
</ul> | |
<h2 id="header-get-started">Get Started <a class="permalink" href="#header-get-started" aria-hidden="true">¶</a></h2> | |
<p>Feel free to start with the <a href="https://judge0.com/ce"><strong>FREE Basic Plan</strong></a> on RapidAPI or <a href="https://github.com/judge0/judge0/blob/master/CHANGELOG.md#deployment-procedure">host it yourself</a>.</p> | |
<p>You can find our detailed plans and pricing <a href="https://judge0.com/#pricing">here</a>.</p> | |
<p><strong>Why should you use Judge0 on RapidAPI?</strong></p> | |
<p>Our infrastructure allows you to <strong>focus on building your product</strong> and forget about the know-how of maintaining and scaling Judge0.</p> | |
<p><strong>RapidAPI plans are not (good) enough for you?</strong></p> | |
<p>Let’s talk. <a href="mailto:[email protected]">Contact us</a>.</p> | |
<h2 id="header-flavors">Flavors <a class="permalink" href="#header-flavors" aria-hidden="true">¶</a></h2> | |
<p>Judge0 comes in two flavors: <a href="https://judge0.com/ce">Judge0 CE</a> and <a href="https://judge0.com/extra-ce">Judge0 Extra CE</a>. They differ mostly in the <a href="https://github.com/judge0/judge0#supported-languages">supported languages</a>.</p> | |
<p>You can find the source code for Judge0 CE on the <a href="https://github.com/judge0/judge0/tree/master"><code>master</code></a> branch, while you can find the source code for Judge0 Extra CE on the <a href="https://github.com/judge0/judge0/tree/extra"><code>extra</code></a> branch.</p> | |
<p>Judge0 Extra CE is also available on <a href="https://judge0.com/extra-ce">RapidAPI</a>.</p> | |
<h2 id="header-version">Version <a class="permalink" href="#header-version" aria-hidden="true">¶</a></h2> | |
<p>This document describes Judge0 CE <a href="https://github.com/judge0/judge0/tree/v1.13.1">v1.13.1</a>.</p> | |
<h2 id="header-date-and-time-formats">Date and time formats <a class="permalink" href="#header-date-and-time-formats" aria-hidden="true">¶</a></h2> | |
<p><a href="https://en.wikipedia.org/wiki/ISO_8601">ISO 8601</a> standard is used.</p> | |
<p>Example: <code>2016-09-11T10:19:35Z</code></p> | |
<h2 id="header-license">License <a class="permalink" href="#header-license" aria-hidden="true">¶</a></h2> | |
<p>Judge0 is licensed under the <a href="https://github.com/judge0/judge0/blob/master/LICENSE">GNU General Public License v3.0</a>.</p> | |
<br><section id="authentication" class="resource-group"><h2 class="group-heading">Authentication <a href="#authentication" class="permalink">¶</a></h2><p>Administrators of Judge0 can configure Judge0 to require you to have an authentication token (a.k.a. API key). | |
If that is the case with the instance of Judge0 you are using, then you | |
should provide <code>X-Auth-Token</code> header field in <strong>every</strong> API request.</p> | |
<div id="authentication-authenticate" class="resource"><h3 class="resource-heading">Authenticate <a href="#authentication-authenticate" class="permalink"> ¶</a></h3><div id="authentication-authenticate-post" class="action post"><h4 class="action-heading"><div class="name">Authenticate</div><a href="#authentication-authenticate-post" class="method post">POST</a><code class="uri">/authenticate</code></h4><p>Check if your authentication token is valid.</p> | |
<div class="note"> | |
<p><h4>Note</h4></p> | |
<ul> | |
<li> | |
<p><code>X-Auth-Token</code> is default header field name, but administrators of Judge0 instance you are using | |
can change this default field name.</p> | |
</li> | |
<li> | |
<p>Contact administrator of Judge0 instance you are using to get your authentication token.</p> | |
</li> | |
</ul> | |
</div> | |
<div class="warning"> | |
<p><h4>Security Warning</h4></p> | |
<ul> | |
<li>Although you can send authentication token as URI parameter, <strong>always</strong> send authentication token through headers.</li> | |
</ul> | |
</div> | |
<h4>Example URI</h4><div class="definition"><span class="method post">POST</span> <span class="uri"><span class="hostname">https://ce.judge0.com</span>/authenticate</span></div><div class="title"><strong>Request</strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">X-Auth-Token</span>: <span class="hljs-string">f6583e60-b13b-4228-b554-2eb332ca64e7</span></code></pre><div style="height: 1px;"></div></div></div><div class="title"><strong>Response <code>200</code></strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><div class="description"><p>If your authentication token is valid or authentication is disabled. | |
If authentication is disabled you do not need an authentication token.</p> | |
</div></div></div><div class="title"><strong>Response <code>401</code></strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><div class="description"><p>Authentication failed because your authentication token is invalid.</p> | |
</div></div></div></div></div></section><section id="authorization" class="resource-group"><h2 class="group-heading">Authorization <a href="#authorization" class="permalink">¶</a></h2><p>To issue some API calls you need to be authorized. For example, you need to be authorized to | |
<a href="#submissions-submission-get-1">list all submissions</a> on Judge0.</p> | |
<div id="authorization-authorize" class="resource"><h3 class="resource-heading">Authorize <a href="#authorization-authorize" class="permalink"> ¶</a></h3><div id="authorization-authorize-post" class="action post"><h4 class="action-heading"><div class="name">Authorize</div><a href="#authorization-authorize-post" class="method post">POST</a><code class="uri">/authorize</code></h4><p>With this API call you can check if your authorization token is valid. If authentication is enabled you should also | |
authenticate in this API call.</p> | |
<div class="note"> | |
<p><h4>Note</h4></p> | |
<ul> | |
<li> | |
<p><code>X-Auth-User</code> is default header field name, but administrators of Judge0 instance you are using | |
can change this default field name.</p> | |
</li> | |
<li> | |
<p>Contact administrator of Judge0 instance you are using to get your authorization token.</p> | |
</li> | |
</ul> | |
</div> | |
<div class="warning"> | |
<p><h4>Security Warning</h4></p> | |
<ul> | |
<li>Although you can send authorization token as URI parameter, <strong>always</strong> send authorization token through headers.</li> | |
</ul> | |
</div> | |
<h4>Example URI</h4><div class="definition"><span class="method post">POST</span> <span class="uri"><span class="hostname">https://ce.judge0.com</span>/authorize</span></div><div class="title"><strong>Request</strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">X-Auth-User</span>: <span class="hljs-string">a1133bc6-a0f6-46bf-a2d8-6157418c6fe2</span></code></pre><div style="height: 1px;"></div></div></div><div class="title"><strong>Response <code>200</code></strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><div class="description"><p>If your authorization token is valid.</p> | |
</div></div></div><div class="title"><strong>Response <code>401</code></strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><div class="description"><p>Authentication failed. Please read about <a href="#authentication">authentication</a> process.</p> | |
</div></div></div><div class="title"><strong>Response <code>403</code></strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><div class="description"><p>Authorization failed because your authorization token is invalid.</p> | |
</div></div></div></div></div></section><section id="submissions" class="resource-group"><h2 class="group-heading">Submissions <a href="#submissions" class="permalink">¶</a></h2><div id="submissions-submission" class="resource"><h3 class="resource-heading">Submission <a href="#submissions-submission" class="permalink"> ¶</a></h3><p>Submission is used for running arbitrary source code in one of | |
the <a href="#statuses-and-languages-language-get">available programming languages</a> with specified runtime constraints.</p> | |
<p>Submission has 33 attributes. Attributes 1-20 are used for creating a new submissions, whereas | |
attributes 21-33 give detailed information of submission after it’s execution.</p> | |
<p>Attributes 7-18 are called <a href="#system-and-configuration-configuration-info"><em>configuration variables</em></a> | |
and can be used to configure submission runtime constraints such as time and memory limits.</p> | |
<table> | |
<thead> | |
<tr> | |
<th style="text-align:center">#</th> | |
<th style="text-align:left">Name</th> | |
<th style="text-align:center">Type</th> | |
<th style="text-align:center">Unit</th> | |
<th style="text-align:left">Description</th> | |
<th style="text-align:left">Default Value</th> | |
</tr> | |
</thead> | |
<tbody> | |
<tr> | |
<td style="text-align:center">1</td> | |
<td style="text-align:left"><strong><code>source_code</code></strong></td> | |
<td style="text-align:center">text</td> | |
<td style="text-align:center"></td> | |
<td style="text-align:left">Program’s source code.</td> | |
<td style="text-align:left">No default. This attribute is <strong>required</strong> for <a href="#header-single-file-programs-and-multi-file-programs">single-file programs</a>.</td> | |
</tr> | |
<tr> | |
<td style="text-align:center">2</td> | |
<td style="text-align:left"><strong><code>language_id</code></strong></td> | |
<td style="text-align:center">integer</td> | |
<td style="text-align:center"></td> | |
<td style="text-align:left"><a href="#statuses-and-languages-language">Language</a> ID.</td> | |
<td style="text-align:left">No default. This attribute is <strong>required</strong>.</td> | |
</tr> | |
<tr> | |
<td style="text-align:center">3</td> | |
<td style="text-align:left"><code>compiler_options</code></td> | |
<td style="text-align:center">string (max. 512 chars)</td> | |
<td style="text-align:center"></td> | |
<td style="text-align:left">Options for the compiler (i.e. compiler flags).</td> | |
<td style="text-align:left"><code>null</code></td> | |
</tr> | |
<tr> | |
<td style="text-align:center">4</td> | |
<td style="text-align:left"><code>command_line_arguments</code></td> | |
<td style="text-align:center">string (max. 512 chars)</td> | |
<td style="text-align:center"></td> | |
<td style="text-align:left">Command line arguments for the program.</td> | |
<td style="text-align:left"><code>null</code></td> | |
</tr> | |
<tr> | |
<td style="text-align:center">5</td> | |
<td style="text-align:left"><code>stdin</code></td> | |
<td style="text-align:center">text</td> | |
<td style="text-align:center"></td> | |
<td style="text-align:left">Input for program.</td> | |
<td style="text-align:left"><code>null</code>. Program won’t receive anything to standard input.</td> | |
</tr> | |
<tr> | |
<td style="text-align:center">6</td> | |
<td style="text-align:left"><code>expected_output</code></td> | |
<td style="text-align:center">text</td> | |
<td style="text-align:center"></td> | |
<td style="text-align:left">Expected output of program. Used when you want to compare with <code>stdout</code>.</td> | |
<td style="text-align:left"><code>null</code>. Program’s <code>stdout</code> won’t be compared with <code>expected_output</code>.</td> | |
</tr> | |
<tr> | |
<td style="text-align:center">7</td> | |
<td style="text-align:left"><code>cpu_time_limit</code></td> | |
<td style="text-align:center">float</td> | |
<td style="text-align:center">second</td> | |
<td style="text-align:left">Default runtime limit for every program. Time in which the OS assigns the processor to different tasks is not counted.</td> | |
<td style="text-align:left">Depends on <a href="#system-and-configuration-configuration-info">configuration</a>.</td> | |
</tr> | |
<tr> | |
<td style="text-align:center">8</td> | |
<td style="text-align:left"><code>cpu_extra_time</code></td> | |
<td style="text-align:center">float</td> | |
<td style="text-align:center">second</td> | |
<td style="text-align:left">When a time limit is exceeded, wait for extra time, before killing the program. This has the advantage that the real execution time is reported, even though it slightly exceeds the limit.</td> | |
<td style="text-align:left">Depends on <a href="#system-and-configuration-configuration-info">configuration</a>.</td> | |
</tr> | |
<tr> | |
<td style="text-align:center">9</td> | |
<td style="text-align:left"><code>wall_time_limit</code></td> | |
<td style="text-align:center">float</td> | |
<td style="text-align:center">second</td> | |
<td style="text-align:left">Limit wall-clock time in seconds. Decimal numbers are allowed. This clock measures the time from the start of the program to its exit, so it does not stop when the program has lost the CPU or when it is waiting for an external event. We recommend to use <code>cpu_time_limit</code> as the main limit, but set <code>wall_time_limit</code> to a much higher value as a precaution against sleeping programs.</td> | |
<td style="text-align:left">Depends on <a href="#system-and-configuration-configuration-info">configuration</a>.</td> | |
</tr> | |
<tr> | |
<td style="text-align:center">10</td> | |
<td style="text-align:left"><code>memory_limit</code></td> | |
<td style="text-align:center">float</td> | |
<td style="text-align:center">kilobyte</td> | |
<td style="text-align:left">Limit address space of the program.</td> | |
<td style="text-align:left">Depends on <a href="#system-and-configuration-configuration-info">configuration</a>.</td> | |
</tr> | |
<tr> | |
<td style="text-align:center">11</td> | |
<td style="text-align:left"><code>stack_limit</code></td> | |
<td style="text-align:center">integer</td> | |
<td style="text-align:center">kilobyte</td> | |
<td style="text-align:left">Limit process stack.</td> | |
<td style="text-align:left">Depends on <a href="#system-and-configuration-configuration-info">configuration</a>.</td> | |
</tr> | |
<tr> | |
<td style="text-align:center">12</td> | |
<td style="text-align:left"><code>max_processes_and_or_threads</code></td> | |
<td style="text-align:center">integer</td> | |
<td style="text-align:center"></td> | |
<td style="text-align:left">Maximum number of processes and/or threads program can create.</td> | |
<td style="text-align:left">Depends on <a href="#system-and-configuration-configuration-info">configuration</a>.</td> | |
</tr> | |
<tr> | |
<td style="text-align:center">13</td> | |
<td style="text-align:left"><code>enable_per_process_and_thread_time_limit</code></td> | |
<td style="text-align:center">boolean</td> | |
<td style="text-align:center"></td> | |
<td style="text-align:left">If <code>true</code> then <code>cpu_time_limit</code> will be used as per process and thread.</td> | |
<td style="text-align:left">Depends on <a href="#system-and-configuration-configuration-info">configuration</a>.</td> | |
</tr> | |
<tr> | |
<td style="text-align:center">14</td> | |
<td style="text-align:left"><code>enable_per_process_and_thread_memory_limit</code></td> | |
<td style="text-align:center">boolean</td> | |
<td style="text-align:center"></td> | |
<td style="text-align:left">If <code>true</code> then <code>memory_limit</code> will be used as per process and thread.</td> | |
<td style="text-align:left">Depends on <a href="#system-and-configuration-configuration-info">configuration</a>.</td> | |
</tr> | |
<tr> | |
<td style="text-align:center">15</td> | |
<td style="text-align:left"><code>max_file_size</code></td> | |
<td style="text-align:center">integer</td> | |
<td style="text-align:center">kilobyte</td> | |
<td style="text-align:left">Limit file size created or modified by the program.</td> | |
<td style="text-align:left">Depends on <a href="#system-and-configuration-configuration-info">configuration</a>.</td> | |
</tr> | |
<tr> | |
<td style="text-align:center">16</td> | |
<td style="text-align:left"><code>redirect_stderr_to_stdout</code></td> | |
<td style="text-align:center">boolean</td> | |
<td style="text-align:center"></td> | |
<td style="text-align:left">If <code>true</code> standard error will be redirected to standard output.</td> | |
<td style="text-align:left">Depends on <a href="#system-and-configuration-configuration-info">configuration</a>.</td> | |
</tr> | |
<tr> | |
<td style="text-align:center">17</td> | |
<td style="text-align:left"><code>enable_network</code></td> | |
<td style="text-align:center">boolean</td> | |
<td style="text-align:center"></td> | |
<td style="text-align:left">If <code>true</code> program will have network access.</td> | |
<td style="text-align:left">Depends on <a href="#system-and-configuration-configuration-info">configuration</a>.</td> | |
</tr> | |
<tr> | |
<td style="text-align:center">18</td> | |
<td style="text-align:left"><code>number_of_runs</code></td> | |
<td style="text-align:center">integer</td> | |
<td style="text-align:center"></td> | |
<td style="text-align:left">Run each program <code>number_of_runs</code> times and take average of <code>time</code> and <code>memory</code>.</td> | |
<td style="text-align:left">Depends on <a href="#system-and-configuration-configuration-info">configuration</a>.</td> | |
</tr> | |
<tr> | |
<td style="text-align:center">19</td> | |
<td style="text-align:left"><strong><code>additional_files</code></strong></td> | |
<td style="text-align:center">Base64 Encoded String</td> | |
<td style="text-align:center"></td> | |
<td style="text-align:left">Additional files that should be available alongside the source code. Value of this string should represent the content of a <code>.zip</code> that contains additional files. This attribute is <strong>required</strong> for <a href="#header-single-file-programs-and-multi-file-programs">multi-file programs</a>.</td> | |
<td style="text-align:left"><code>null</code></td> | |
</tr> | |
<tr> | |
<td style="text-align:center">20</td> | |
<td style="text-align:left"><code>callback_url</code></td> | |
<td style="text-align:center">string</td> | |
<td style="text-align:center"></td> | |
<td style="text-align:left">URL on which Judge0 will issue <code>PUT</code> request with the submission in a request body after submission has been done.</td> | |
<td style="text-align:left"><code>null</code></td> | |
</tr> | |
<tr> | |
<td style="text-align:center">21</td> | |
<td style="text-align:left"><code>stdout</code></td> | |
<td style="text-align:center">text</td> | |
<td style="text-align:center"></td> | |
<td style="text-align:left">Standard output of the program after execution.</td> | |
<td style="text-align:left"></td> | |
</tr> | |
<tr> | |
<td style="text-align:center">22</td> | |
<td style="text-align:left"><code>stderr</code></td> | |
<td style="text-align:center">text</td> | |
<td style="text-align:center"></td> | |
<td style="text-align:left">Standard error of the program after execution.</td> | |
<td style="text-align:left"></td> | |
</tr> | |
<tr> | |
<td style="text-align:center">23</td> | |
<td style="text-align:left"><code>compile_output</code></td> | |
<td style="text-align:center">text</td> | |
<td style="text-align:center"></td> | |
<td style="text-align:left">Compiler output after compilation.</td> | |
<td style="text-align:left"></td> | |
</tr> | |
<tr> | |
<td style="text-align:center">24</td> | |
<td style="text-align:left"><code>message</code></td> | |
<td style="text-align:center">text</td> | |
<td style="text-align:center"></td> | |
<td style="text-align:left">If submission status is <code>Internal Error</code> then this message comes from Judge0 itself, otherwise this is status message from <a href="https://github.com/ioi/isolate">isolate</a>.</td> | |
<td style="text-align:left"></td> | |
</tr> | |
<tr> | |
<td style="text-align:center">25</td> | |
<td style="text-align:left"><code>exit_code</code></td> | |
<td style="text-align:center">integer</td> | |
<td style="text-align:center"></td> | |
<td style="text-align:left">The program’s exit code.</td> | |
<td style="text-align:left"></td> | |
</tr> | |
<tr> | |
<td style="text-align:center">26</td> | |
<td style="text-align:left"><code>exit_signal</code></td> | |
<td style="text-align:center">integer</td> | |
<td style="text-align:center"></td> | |
<td style="text-align:left">Signal code that the program recieved before exiting.</td> | |
<td style="text-align:left"></td> | |
</tr> | |
<tr> | |
<td style="text-align:center">27</td> | |
<td style="text-align:left"><code>status</code></td> | |
<td style="text-align:center">object</td> | |
<td style="text-align:center"></td> | |
<td style="text-align:left">Submission <a href="#statuses-and-languages-status">status</a>.</td> | |
<td style="text-align:left"></td> | |
</tr> | |
<tr> | |
<td style="text-align:center">28</td> | |
<td style="text-align:left"><code>created_at</code></td> | |
<td style="text-align:center">datetime</td> | |
<td style="text-align:center"></td> | |
<td style="text-align:left">Date and time when submission was created.</td> | |
<td style="text-align:left"></td> | |
</tr> | |
<tr> | |
<td style="text-align:center">29</td> | |
<td style="text-align:left"><code>finished_at</code></td> | |
<td style="text-align:center">datetime</td> | |
<td style="text-align:center"></td> | |
<td style="text-align:left">Date and time when submission was processed.</td> | |
<td style="text-align:left"><code>null</code> if submission is still in queue or if submission is processing.</td> | |
</tr> | |
<tr> | |
<td style="text-align:center">30</td> | |
<td style="text-align:left"><code>token</code></td> | |
<td style="text-align:center">string</td> | |
<td style="text-align:center"></td> | |
<td style="text-align:left">Unique submission token which can be used to <a href="#submissions-submission-get">get a specific submission</a>.</td> | |
<td style="text-align:left"></td> | |
</tr> | |
<tr> | |
<td style="text-align:center">31</td> | |
<td style="text-align:left"><code>time</code></td> | |
<td style="text-align:center">float</td> | |
<td style="text-align:center">second</td> | |
<td style="text-align:left">Program’s run time.</td> | |
<td style="text-align:left"></td> | |
</tr> | |
<tr> | |
<td style="text-align:center">32</td> | |
<td style="text-align:left"><code>wall_time</code></td> | |
<td style="text-align:center">float</td> | |
<td style="text-align:center">second</td> | |
<td style="text-align:left">Program’s wall time. Will be greater or equal to <code>time</code>.</td> | |
<td style="text-align:left"></td> | |
</tr> | |
<tr> | |
<td style="text-align:center">33</td> | |
<td style="text-align:left"><code>memory</code></td> | |
<td style="text-align:center">float</td> | |
<td style="text-align:center">kilobyte</td> | |
<td style="text-align:left">Memory used by the program after execution.</td> | |
<td style="text-align:left"></td> | |
</tr> | |
</tbody> | |
</table> | |
<h3 id="header-single-file-programs-and-multi-file-programs">Single-file programs and multi-file programs <a class="permalink" href="#header-single-file-programs-and-multi-file-programs" aria-hidden="true">¶</a></h3> | |
<p>Judge0 can run both single-file and multi-file programs in a sandboxed environment with specified resource limitations. | |
The usage of multi-file programs is slightly different from single-file programs and this section explains their differences and when they should be used.</p> | |
<h4 id="header-single-file-programs">Single-file programs <a class="permalink" href="#header-single-file-programs" aria-hidden="true">¶</a></h4> | |
<p>This is the simplest way to run a program with Judge0. Pick a <a href="#statuses-and-languages-language-get">language</a> with <code>language_id</code>, provide a <code>source_code</code> and Judge0 will use predefined compilation and execution scripts for specified language. Additionally you can set custom compile flags, provide command line arguments and send <code>additional_files</code> that will be available in the sandbox alongside your single-file program.</p> | |
<p>With <code>additional_files</code> you can send, for example, Python modules which are imported by your main program that you provided in <code>source_code</code> attribute. For C or C++ programs with <code>additional_files</code> you can send header files which are included by your main program that you provided in <code>source_code</code> attribute.</p> | |
<p>Even though you can send and use multiple Python modules or C and C++ header files, we call this <em>single-file programs</em> because for compiled languages only <strong>one</strong> source file is compiled with predefined compilation scripts.</p> | |
<h4 id="header-multi-file-programs">Multi-file programs <a class="permalink" href="#header-multi-file-programs" aria-hidden="true">¶</a></h4> | |
<p>Multi-file programs are available since <a href="https://github.com/judge0/judge0/tree/v1.10.0">v1.10.0</a> and they allow you specify your own compilation and execution scripts that Judge0 will use.</p> | |
<p>To use multi-file program feature you need to choose a language called <em>Multi-file program</em> whoose ID is <strong>89</strong>. Moreover, you need to send all program files with <code>additional_files</code> attribute. With multi-file programs attribute <code>source_code</code> cannot be used, i.e. all files should be sent with <code>additional_files</code> attribute.</p> | |
<p>As mentioned in the table above, <code>additional_files</code> attribute should be a content of a Base64 encoded <code>.zip</code> archive. This archive will be extracted in the sandbox before compilation and execution.</p> | |
<p>For the Judge0 to know how to compile and execute your multi-file program you need to provide two special files that should be available in the root of the <code>.zip</code> archive that you are sending with <code>additional_files</code> attribute. These files should be named <code>compile</code> and <code>run</code>, and are expected to be Bash scripts that know how to compile and execute your multi-file program. If your multi-file program does not need compilation step, then you don’t need to provide <code>compile</code> script. Take a look at <a href="https://github.com/judge0/examples/tree/master/cpp-and-cmake-01">this example</a> to learn how to use this feature to compile and run multi-file C++ project that uses CMake.</p> | |
<div id="submissions-submission-post" class="action post"><h4 class="action-heading"><div class="name">Create a Submission</div><a href="#submissions-submission-post" class="method post">POST</a><code class="uri">/submissions/{?base64_encoded,wait}</code></h4><p>Creates new submission. Created submission waits in queue to be processed. On successful | |
creation, you are returned submission token which can be used to <a href="#submissions-submission-get">check submission status</a>.</p> | |
<p>If submission’s <code>source_code</code>, <code>stdin</code> or <code>expected_output</code> contains non printable characters, or | |
characters which cannot be sent with JSON, then set <code>base64_encoded</code> parameter to <code>true</code> and | |
send these attributes Base64 encoded. Your responsibility is to encode each of mentioned attributes | |
(<code>source_code</code>, <code>stdin</code> and <code>expected_output</code>) even if just one of them contains non printable | |
characters. By default, this parameter is set to <code>false</code> and Judge0 assumes you are sending plain text data.</p> | |
<p>By default you are returned submission token on successful submission creation. With this token you can <a href="#submission-submission-get">check submission status</a>. | |
Instead of checking submission status by making another request, you can set the <code>wait</code> query parameter to <code>true</code> 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 <a href="#system-and-configuration-configuration-info-get">configuration</a> of Judge0 you are using. On an <a href="https://api.judge0.com">official Judge0</a> this feature <strong>is not</strong> enabled.</p> | |
<div class="note"> | |
<p><h4>Note</h4></p> | |
<ul> | |
<li>We <strong>do not</strong> recommend the use of <code>wait=true</code> feature because it does not scale well.</li> | |
</ul> | |
</div> | |
<h4>Example URI</h4><div class="definition"><span class="method post">POST</span> <span class="uri"><span class="hostname">https://ce.judge0.com</span>/submissions/?<span class="hljs-attribute">base64_encoded=</span><span class="hljs-literal">false</span>&<span class="hljs-attribute">wait=</span><span class="hljs-literal">false</span></span></div><div class="title"><strong>URI Parameters</strong><div class="collapse-button show"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><dl class="inner"><dt>base64_encoded</dt><dd><code>boolean</code> <span>(optional)</span> <span class="text-info default"><strong>Default: </strong><span>false</span></span> <span class="text-muted example"><strong>Example: </strong><span>false</span></span><p>Set to <code>true</code> if you want to send Base64 encoded data to Judge0.</p> | |
</dd><dt>wait</dt><dd><code>boolean</code> <span>(optional)</span> <span class="text-info default"><strong>Default: </strong><span>false</span></span> <span class="text-muted example"><strong>Example: </strong><span>false</span></span><p>Set to <code>true</code> to immediately get submission result.</p> | |
</dd></dl></div><div class="title"><strong>Request</strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ | |
"<span class="hljs-attribute">source_code</span>": <span class="hljs-value"><span class="hljs-string">"#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}"</span></span>, | |
"<span class="hljs-attribute">language_id</span>": <span class="hljs-value"><span class="hljs-number">4</span></span>, | |
"<span class="hljs-attribute">stdin</span>": <span class="hljs-value"><span class="hljs-string">"world"</span> | |
</span>}</code></pre><div style="height: 1px;"></div></div></div><div class="title"><strong>Response <code>201</code></strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ | |
"<span class="hljs-attribute">token</span>": <span class="hljs-value"><span class="hljs-string">"d85cd024-1548-4165-96c7-7bc88673f194"</span> | |
</span>}</code></pre><div style="height: 1px;"></div></div></div><div class="title"><strong>Request</strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ | |
"<span class="hljs-attribute">source_code</span>": <span class="hljs-value"><span class="hljs-string">"#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}"</span> | |
</span>}</code></pre><div style="height: 1px;"></div></div></div><div class="title"><strong>Response <code>422</code></strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ | |
"<span class="hljs-attribute">language_id</span>": <span class="hljs-value">[ | |
<span class="hljs-string">"can't be blank"</span> | |
] | |
</span>}</code></pre><div style="height: 1px;"></div></div></div><div class="title"><strong>Request</strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ | |
"<span class="hljs-attribute">source_code</span>": <span class="hljs-value"><span class="hljs-string">"#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}"</span></span>, | |
"<span class="hljs-attribute">language_id</span>": <span class="hljs-value"><span class="hljs-number">150000</span></span>, | |
"<span class="hljs-attribute">stdin</span>": <span class="hljs-value"><span class="hljs-string">"world"</span></span>, | |
"<span class="hljs-attribute">expected_output</span>": <span class="hljs-value"><span class="hljs-string">"hello, world"</span> | |
</span>}</code></pre><div style="height: 1px;"></div></div></div><div class="title"><strong>Response <code>422</code></strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ | |
"<span class="hljs-attribute">language_id</span>": <span class="hljs-value">[ | |
<span class="hljs-string">"language with id 150000 doesn't exist"</span> | |
] | |
</span>}</code></pre><div style="height: 1px;"></div></div></div><div class="title"><strong>Request</strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ | |
"<span class="hljs-attribute">source_code</span>": <span class="hljs-value"><span class="hljs-string">"#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}"</span></span>, | |
"<span class="hljs-attribute">language_id</span>": <span class="hljs-value"><span class="hljs-number">4</span></span>, | |
"<span class="hljs-attribute">number_of_runs</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, | |
"<span class="hljs-attribute">stdin</span>": <span class="hljs-value"><span class="hljs-string">"Judge0"</span></span>, | |
"<span class="hljs-attribute">expected_output</span>": <span class="hljs-value"><span class="hljs-string">"hello, Judge0"</span></span>, | |
"<span class="hljs-attribute">cpu_time_limit</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, | |
"<span class="hljs-attribute">cpu_extra_time</span>": <span class="hljs-value"><span class="hljs-number">0.5</span></span>, | |
"<span class="hljs-attribute">wall_time_limit</span>": <span class="hljs-value"><span class="hljs-number">100000</span></span>, | |
"<span class="hljs-attribute">memory_limit</span>": <span class="hljs-value"><span class="hljs-number">128000</span></span>, | |
"<span class="hljs-attribute">stack_limit</span>": <span class="hljs-value"><span class="hljs-number">128000</span></span>, | |
"<span class="hljs-attribute">enable_per_process_and_thread_time_limit</span>": <span class="hljs-value"><span class="hljs-literal">false</span></span>, | |
"<span class="hljs-attribute">enable_per_process_and_thread_memory_limit</span>": <span class="hljs-value"><span class="hljs-literal">false</span></span>, | |
"<span class="hljs-attribute">max_file_size</span>": <span class="hljs-value"><span class="hljs-number">1024</span> | |
</span>}</code></pre><div style="height: 1px;"></div></div></div><div class="title"><strong>Response <code>422</code></strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ | |
"<span class="hljs-attribute">wall_time_limit</span>": <span class="hljs-value">[ | |
<span class="hljs-string">"must be less than or equal to 150"</span> | |
] | |
</span>}</code></pre><div style="height: 1px;"></div></div></div><div class="title"><strong>Request</strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><div class="description"><p>Sending Base64 encoded <code>source_code</code> and <code>stdin</code>. Note that in this request <code>base64_encoded</code> query parameter <strong>must</strong> be | |
set to <code>true</code>.</p> | |
</div><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">appliction/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ | |
"<span class="hljs-attribute">source_code</span>": <span class="hljs-value"><span class="hljs-string">"I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbWFpbih2b2lkKSB7CiAgY2hhciBuYW1lWzEwXTsKICBzY2FuZigiJXMiLCBuYW1lKTsKICBwcmludGYoImhlbGxvLCAlc1xuIiwgbmFtZSk7CiAgcmV0dXJuIDA7Cn0="</span></span>, | |
"<span class="hljs-attribute">language_id</span>": <span class="hljs-value"><span class="hljs-number">4</span></span>, | |
"<span class="hljs-attribute">input</span>": <span class="hljs-value"><span class="hljs-string">"SnVkZ2Uw"</span> | |
</span>}</code></pre><div style="height: 1px;"></div></div></div><div class="title"><strong>Response <code>201</code></strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ | |
"<span class="hljs-attribute">token</span>": <span class="hljs-value"><span class="hljs-string">"f3fe0215-72f3-4fe6-97f5-353df6682db4"</span> | |
</span>}</code></pre><div style="height: 1px;"></div></div></div><div class="title"><strong>Request</strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><div class="description"><p>Creating a submission with <code>wait=true</code> that results with one or more attributes that cannot be serialized to JSON without Base64 encoding.</p> | |
</div><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ | |
"<span class="hljs-attribute">language_id</span>": <span class="hljs-value"><span class="hljs-number">70</span></span>, | |
"<span class="hljs-attribute">source_code</span>": <span class="hljs-value"><span class="hljs-string">"print(\"\xFE\")"</span> | |
</span>}</code></pre><div style="height: 1px;"></div></div></div><div class="title"><strong>Response <code>201</code></strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ | |
"<span class="hljs-attribute">token</span>": <span class="hljs-value"><span class="hljs-string">"fcd0de6d-ee52-4a9d-8a00-6e0d98d394cf"</span></span>, | |
"<span class="hljs-attribute">error</span>": <span class="hljs-value"><span class="hljs-string">"some attributes for this submission cannot be converted to UTF-8, use base64_encoded=true query parameter"</span> | |
</span>}</code></pre><div style="height: 1px;"></div></div></div><div class="title"><strong>Request</strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><div class="description"><p>Waiting for submission to finish. Note that in this request <code>wait</code> query parameter <strong>must</strong> be set to <code>true</code>.</p> | |
</div><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ | |
"<span class="hljs-attribute">source_code</span>": <span class="hljs-value"><span class="hljs-string">"#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}"</span></span>, | |
"<span class="hljs-attribute">language_id</span>": <span class="hljs-value"><span class="hljs-string">"4"</span></span>, | |
"<span class="hljs-attribute">stdin</span>": <span class="hljs-value"><span class="hljs-string">"Judge0"</span></span>, | |
"<span class="hljs-attribute">expected_output</span>": <span class="hljs-value"><span class="hljs-string">"hello, Judge0"</span> | |
</span>}</code></pre><div style="height: 1px;"></div></div></div><div class="title"><strong>Response <code>201</code></strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ | |
"<span class="hljs-attribute">stdout</span>": <span class="hljs-value"><span class="hljs-string">"hello, Judge0\n"</span></span>, | |
"<span class="hljs-attribute">time</span>": <span class="hljs-value"><span class="hljs-string">"0.001"</span></span>, | |
"<span class="hljs-attribute">memory</span>": <span class="hljs-value"><span class="hljs-number">380</span></span>, | |
"<span class="hljs-attribute">stderr</span>": <span class="hljs-value"><span class="hljs-literal">null</span></span>, | |
"<span class="hljs-attribute">token</span>": <span class="hljs-value"><span class="hljs-string">"eb0dd001-66db-47f4-8a69-b736c9bc23f6"</span></span>, | |
"<span class="hljs-attribute">compile_output</span>": <span class="hljs-value"><span class="hljs-literal">null</span></span>, | |
"<span class="hljs-attribute">message</span>": <span class="hljs-value"><span class="hljs-literal">null</span></span>, | |
"<span class="hljs-attribute">status</span>": <span class="hljs-value">{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">3</span></span>, | |
"<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Accepted"</span> | |
</span>} | |
</span>}</code></pre><div style="height: 1px;"></div></div></div><div class="title"><strong>Response <code>400</code></strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><div class="description"><p>If wait is not allowed.</p> | |
</div><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ | |
"<span class="hljs-attribute">error</span>": <span class="hljs-value"><span class="hljs-string">"wait not allowed"</span> | |
</span>}</code></pre><div style="height: 1px;"></div></div></div><div class="title"><strong>Response <code>503</code></strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><div class="description"><p>If submission queue is full.</p> | |
</div><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ | |
"<span class="hljs-attribute">error</span>": <span class="hljs-value"><span class="hljs-string">"queue is full"</span> | |
</span>}</code></pre><div style="height: 1px;"></div></div></div><div class="title"><strong>Response <code>401</code></strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><div class="description"><p>Authentication failed. Please read about <a href="#authentication">authentication</a> process.</p> | |
</div></div></div></div><div id="submissions-submission-get" class="action get"><h4 class="action-heading"><div class="name">Get a Submission</div><a href="#submissions-submission-get" class="method get">GET</a><code class="uri">/submissions/{token}{?base64_encoded,fields}</code></h4><p>Returns details about submission.</p> | |
<p>Just like in <a href="/#submission-submission-post">create submission</a> you can receive Base64 encoded data for every text type attribute (check the <a href="#submission-submission">table</a> to see which attributes are text type). By default, this parameter is set to <code>false</code> and Judge0 will send you raw data.</p> | |
<p>By default Judge0 is sending 8 attributes for submission. By sending <code>fields</code> query parameter you can specify exactly which attributes you want from Judge0. Special value <code>*</code> will return all available attributes.</p> | |
<h4>Example URI</h4><div class="definition"><span class="method get">GET</span> <span class="uri"><span class="hostname">https://ce.judge0.com</span>/submissions/<span class="hljs-attribute" title="token">d85cd024-1548-4165-96c7-7bc88673f194</span>?<span class="hljs-attribute">base64_encoded=</span><span class="hljs-literal">false</span>&<span class="hljs-attribute">fields=</span><span class="hljs-literal">stdout,stderr,status_id,language_id</span></span></div><div class="title"><strong>URI Parameters</strong><div class="collapse-button show"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><dl class="inner"><dt>token</dt><dd><code>string</code> <span class="required">(required)</span> <span class="text-muted example"><strong>Example: </strong><span>d85cd024-1548-4165-96c7-7bc88673f194</span></span><p>Token of submission. You got this token when you created submission.</p> | |
</dd><dt>base64_encoded</dt><dd><code>boolean</code> <span>(optional)</span> <span class="text-muted example"><strong>Example: </strong><span>false</span></span><p>Set to <code>true</code> if you want to receive Base64 encoded data from Judge0. You should set this to <code>true</code> if you expect the program’s stdout to contain non-printable characters or if you expect the compiler to output non-printable characters during a compile error (GCC does this, for instance).</p> | |
</dd><dt>fields</dt><dd><code>string</code> <span>(optional)</span> <span class="text-info default"><strong>Default: </strong><span>stdout,time,memory,stderr,token,compile_output,message,status</span></span> <span class="text-muted example"><strong>Example: </strong><span>stdout,stderr,status_id,language_id</span></span><p>Return only the desired attributes.</p> | |
</dd></dl></div><div class="title"><strong>Response <code>200</code></strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">applicatiion/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ | |
"<span class="hljs-attribute">stdout</span>": <span class="hljs-value"><span class="hljs-string">"hello, world\n"</span></span>, | |
"<span class="hljs-attribute">status_id</span>": <span class="hljs-value"><span class="hljs-number">5</span></span>, | |
"<span class="hljs-attribute">language_id</span>": <span class="hljs-value"><span class="hljs-number">4</span></span>, | |
"<span class="hljs-attribute">stderr</span>": <span class="hljs-value"><span class="hljs-literal">null</span> | |
</span>}</code></pre><div style="height: 1px;"></div></div></div><div class="title"><strong>Response <code>200</code></strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><div class="description"><p>This is the default response. Leave <code>fields</code> parameter empty if you want to get default response.</p> | |
</div><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ | |
"<span class="hljs-attribute">stdout</span>": <span class="hljs-value"><span class="hljs-string">"hello, Judge0\n"</span></span>, | |
"<span class="hljs-attribute">time</span>": <span class="hljs-value"><span class="hljs-string">"0.001"</span></span>, | |
"<span class="hljs-attribute">memory</span>": <span class="hljs-value"><span class="hljs-number">376</span></span>, | |
"<span class="hljs-attribute">stderr</span>": <span class="hljs-value"><span class="hljs-literal">null</span></span>, | |
"<span class="hljs-attribute">token</span>": <span class="hljs-value"><span class="hljs-string">"8531f293-1585-4d36-a34c-73726792e6c9"</span></span>, | |
"<span class="hljs-attribute">compile_output</span>": <span class="hljs-value"><span class="hljs-literal">null</span></span>, | |
"<span class="hljs-attribute">message</span>": <span class="hljs-value"><span class="hljs-literal">null</span></span>, | |
"<span class="hljs-attribute">status</span>": <span class="hljs-value">{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">3</span></span>, | |
"<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Accepted"</span> | |
</span>} | |
</span>}</code></pre><div style="height: 1px;"></div></div></div><div class="title"><strong>Response <code>200</code></strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><div class="description"><p>Receiving Base64 encoded data for text type attributes. Note that in this request <code>base64_encoded</code> query parameter <strong>must</strong> be set to <code>true</code>.</p> | |
</div><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ | |
"<span class="hljs-attribute">stdout</span>": <span class="hljs-value"><span class="hljs-string">"aGVsbG8sIEp1ZGdlMAo=\n"</span></span>, | |
"<span class="hljs-attribute">time</span>": <span class="hljs-value"><span class="hljs-string">"0.002"</span></span>, | |
"<span class="hljs-attribute">memory</span>": <span class="hljs-value"><span class="hljs-number">376</span></span>, | |
"<span class="hljs-attribute">stderr</span>": <span class="hljs-value"><span class="hljs-literal">null</span></span>, | |
"<span class="hljs-attribute">token</span>": <span class="hljs-value"><span class="hljs-string">"4e00f214-b8cb-4fcb-977b-429113c81ece"</span></span>, | |
"<span class="hljs-attribute">compile_output</span>": <span class="hljs-value"><span class="hljs-literal">null</span></span>, | |
"<span class="hljs-attribute">message</span>": <span class="hljs-value"><span class="hljs-literal">null</span></span>, | |
"<span class="hljs-attribute">status</span>": <span class="hljs-value">{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">3</span></span>, | |
"<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Accepted"</span> | |
</span>} | |
</span>}</code></pre><div style="height: 1px;"></div></div></div><div class="title"><strong>Response <code>400</code></strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ | |
"<span class="hljs-attribute">error</span>": <span class="hljs-value"><span class="hljs-string">"some attributes for this submission cannot be converted to UTF-8, use base64_encoded=true query parameter"</span> | |
</span>}</code></pre><div style="height: 1px;"></div></div></div><div class="title"><strong>Response <code>401</code></strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><div class="description"><p>Authentication failed. Please read about <a href="#authentication">authentication</a> process.</p> | |
</div></div></div></div><div id="submissions-submission-get-1" class="action get"><h4 class="action-heading"><div class="name">Get Submissions</div><a href="#submissions-submission-get-1" class="method get">GET</a><code class="uri">/submissions/{?base64_encoded,fields,page,per_page}</code></h4><h4>Example URI</h4><div class="definition"><span class="method get">GET</span> <span class="uri"><span class="hostname">https://ce.judge0.com</span>/submissions/?<span class="hljs-attribute">base64_encoded=</span><span class="hljs-literal">false</span>&<span class="hljs-attribute">fields=</span><span class="hljs-literal">status,language,time</span>&<span class="hljs-attribute">page=</span><span class="hljs-literal">4</span>&<span class="hljs-attribute">per_page=</span><span class="hljs-literal">2</span></span></div><div class="title"><strong>URI Parameters</strong><div class="collapse-button show"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><dl class="inner"><dt>base64_encoded</dt><dd><code>boolean</code> <span>(optional)</span> <span class="text-info default"><strong>Default: </strong><span>false</span></span> <span class="text-muted example"><strong>Example: </strong><span>false</span></span><p>Set to <code>true</code> if you want to receive Base64 encoded data from Judge0.</p> | |
</dd><dt>page</dt><dd><code>integer</code> <span>(optional)</span> <span class="text-info default"><strong>Default: </strong><span>1</span></span> <span class="text-muted example"><strong>Example: </strong><span>4</span></span><p>Pagination page number.</p> | |
</dd><dt>per_page</dt><dd><code>integer</code> <span>(optional)</span> <span class="text-info default"><strong>Default: </strong><span>20</span></span> <span class="text-muted example"><strong>Example: </strong><span>2</span></span><p>Number of submissions to return per page.</p> | |
</dd><dt>fields</dt><dd><code>string</code> <span>(optional)</span> <span class="text-info default"><strong>Default: </strong><span>stdout,time,memory,stderr,token,compile_output,message,status</span></span> <span class="text-muted example"><strong>Example: </strong><span>status,language,time</span></span><p>Return only the desired attributes.</p> | |
</dd></dl></div><div class="title"><strong>Response <code>200</code></strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ | |
"<span class="hljs-attribute">submissions</span>": <span class="hljs-value">[ | |
{ | |
"<span class="hljs-attribute">time</span>": <span class="hljs-value"><span class="hljs-string">"0.001"</span></span>, | |
"<span class="hljs-attribute">status</span>": <span class="hljs-value">{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">3</span></span>, | |
"<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Accepted"</span> | |
</span>}</span>, | |
"<span class="hljs-attribute">language</span>": <span class="hljs-value">{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">4</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"C (gcc 7.2.0)"</span> | |
</span>} | |
</span>}, | |
{ | |
"<span class="hljs-attribute">time</span>": <span class="hljs-value"><span class="hljs-string">"0.001"</span></span>, | |
"<span class="hljs-attribute">status</span>": <span class="hljs-value">{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">3</span></span>, | |
"<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Accepted"</span> | |
</span>}</span>, | |
"<span class="hljs-attribute">language</span>": <span class="hljs-value">{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">4</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"C (gcc 7.2.0)"</span> | |
</span>} | |
</span>} | |
]</span>, | |
"<span class="hljs-attribute">meta</span>": <span class="hljs-value">{ | |
"<span class="hljs-attribute">current_page</span>": <span class="hljs-value"><span class="hljs-number">4</span></span>, | |
"<span class="hljs-attribute">next_page</span>": <span class="hljs-value"><span class="hljs-number">5</span></span>, | |
"<span class="hljs-attribute">prev_page</span>": <span class="hljs-value"><span class="hljs-number">3</span></span>, | |
"<span class="hljs-attribute">total_pages</span>": <span class="hljs-value"><span class="hljs-number">31</span></span>, | |
"<span class="hljs-attribute">total_count</span>": <span class="hljs-value"><span class="hljs-number">62</span> | |
</span>} | |
</span>}</code></pre><div style="height: 1px;"></div></div></div><div class="title"><strong>Response <code>200</code></strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><div class="description"><p>When <code>base64_encoded</code> is set to <code>true</code>.</p> | |
</div><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ | |
"<span class="hljs-attribute">submissions</span>": <span class="hljs-value">[ | |
{ | |
"<span class="hljs-attribute">stdout</span>": <span class="hljs-value"><span class="hljs-string">"aGVsbG8sIEp1ZGdlMAo=\n"</span></span>, | |
"<span class="hljs-attribute">time</span>": <span class="hljs-value"><span class="hljs-string">"0.001"</span></span>, | |
"<span class="hljs-attribute">memory</span>": <span class="hljs-value"><span class="hljs-number">376</span></span>, | |
"<span class="hljs-attribute">stderr</span>": <span class="hljs-value"><span class="hljs-literal">null</span></span>, | |
"<span class="hljs-attribute">token</span>": <span class="hljs-value"><span class="hljs-string">"a1133bc6-a0f6-46bf-a2d8-6157418c6fe2"</span></span>, | |
"<span class="hljs-attribute">compile_output</span>": <span class="hljs-value"><span class="hljs-literal">null</span></span>, | |
"<span class="hljs-attribute">message</span>": <span class="hljs-value"><span class="hljs-literal">null</span></span>, | |
"<span class="hljs-attribute">status</span>": <span class="hljs-value">{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">3</span></span>, | |
"<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Accepted"</span> | |
</span>} | |
</span>}, | |
{ | |
"<span class="hljs-attribute">stdout</span>": <span class="hljs-value"><span class="hljs-string">"aGVsbG8sIEp1ZGdlMAo=\n"</span></span>, | |
"<span class="hljs-attribute">time</span>": <span class="hljs-value"><span class="hljs-string">"0.001"</span></span>, | |
"<span class="hljs-attribute">memory</span>": <span class="hljs-value"><span class="hljs-number">380</span></span>, | |
"<span class="hljs-attribute">stderr</span>": <span class="hljs-value"><span class="hljs-literal">null</span></span>, | |
"<span class="hljs-attribute">token</span>": <span class="hljs-value"><span class="hljs-string">"eb0dd001-66db-47f4-8a69-b736c9bc23f6"</span></span>, | |
"<span class="hljs-attribute">compile_output</span>": <span class="hljs-value"><span class="hljs-literal">null</span></span>, | |
"<span class="hljs-attribute">message</span>": <span class="hljs-value"><span class="hljs-literal">null</span></span>, | |
"<span class="hljs-attribute">status</span>": <span class="hljs-value">{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">3</span></span>, | |
"<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Accepted"</span> | |
</span>} | |
</span>} | |
]</span>, | |
"<span class="hljs-attribute">meta</span>": <span class="hljs-value">{ | |
"<span class="hljs-attribute">current_page</span>": <span class="hljs-value"><span class="hljs-number">4</span></span>, | |
"<span class="hljs-attribute">next_page</span>": <span class="hljs-value"><span class="hljs-number">5</span></span>, | |
"<span class="hljs-attribute">prev_page</span>": <span class="hljs-value"><span class="hljs-number">3</span></span>, | |
"<span class="hljs-attribute">total_pages</span>": <span class="hljs-value"><span class="hljs-number">31</span></span>, | |
"<span class="hljs-attribute">total_count</span>": <span class="hljs-value"><span class="hljs-number">62</span> | |
</span>} | |
</span>}</code></pre><div style="height: 1px;"></div></div></div><div class="title"><strong>Response <code>400</code></strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><div class="description"><p>When <code>page</code> parameter is invalid.</p> | |
</div><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ | |
"<span class="hljs-attribute">error</span>": <span class="hljs-value"><span class="hljs-string">"invalid page: -4"</span> | |
</span>}</code></pre><div style="height: 1px;"></div></div></div><div class="title"><strong>Response <code>400</code></strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><div class="description"><p>When <code>per_page</code> parameter is invalid.</p> | |
</div><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ | |
"<span class="hljs-attribute">error</span>": <span class="hljs-value"><span class="hljs-string">"invalid per_page: -2"</span> | |
</span>}</code></pre><div style="height: 1px;"></div></div></div><div class="title"><strong>Response <code>400</code></strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ | |
"<span class="hljs-attribute">error</span>": <span class="hljs-value"><span class="hljs-string">"some attributes for one or more submissions cannot be converted to UTF-8, use base64_encoded=true query parameter"</span> | |
</span>}</code></pre><div style="height: 1px;"></div></div></div><div class="title"><strong>Response <code>401</code></strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><div class="description"><p>Authentication failed. Please read about <a href="#authentication">authentication</a> process.</p> | |
</div></div></div><div class="title"><strong>Response <code>403</code></strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><div class="description"><p>Authorization failed. Please read about <a href="#authorization">authorization</a> process.</p> | |
</div></div></div></div><div id="submissions-submission-delete" class="action delete"><h4 class="action-heading"><div class="name">Delete a Submission</div><a href="#submissions-submission-delete" class="method delete">DELETE</a><code class="uri">/submissions/{token}{?fields}</code></h4><p>Delete specific submission.</p> | |
<p>You need to be authorized to issue this request. Although you are | |
authorized you might not be able to delete submission because administrator of Judge0 instance | |
you are using disallowed submission deletion. So before using this feature please check <a href="#system-and-configuration-configuration-info-get">configuration</a> of Judge0 you are using.</p> | |
<p>For this request query parameter <code>base64_encoded</code> is implicitly set to <code>true</code> and cannot be changed. | |
This guarantees you will successfully get requested submission attributes after deletion.</p> | |
<h4>Example URI</h4><div class="definition"><span class="method delete">DELETE</span> <span class="uri"><span class="hostname">https://ce.judge0.com</span>/submissions/<span class="hljs-attribute" title="token">d85cd024-1548-4165-96c7-7bc88673f194</span>?<span class="hljs-attribute">fields=</span><span class="hljs-literal">stdout,stderr,status_id,language_id</span></span></div><div class="title"><strong>URI Parameters</strong><div class="collapse-button show"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><dl class="inner"><dt>token</dt><dd><code>string</code> <span class="required">(required)</span> <span class="text-muted example"><strong>Example: </strong><span>d85cd024-1548-4165-96c7-7bc88673f194</span></span><p>Token of submission. You got this token when you created submission.</p> | |
</dd><dt>fields</dt><dd><code>string</code> <span>(optional)</span> <span class="text-info default"><strong>Default: </strong><span>stdout,time,memory,stderr,token,compile_output,message,status</span></span> <span class="text-muted example"><strong>Example: </strong><span>stdout,stderr,status_id,language_id</span></span><p>Return only the desired attributes.</p> | |
</dd></dl></div><div class="title"><strong>Response <code>200</code></strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">applcation/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ | |
"<span class="hljs-attribute">stdout</span>": <span class="hljs-value"><span class="hljs-string">"aGVsbG8sIHdvcmxkCg==\n"</span></span>, | |
"<span class="hljs-attribute">time</span>": <span class="hljs-value"><span class="hljs-string">"0.045"</span></span>, | |
"<span class="hljs-attribute">memory</span>": <span class="hljs-value"><span class="hljs-number">8556</span></span>, | |
"<span class="hljs-attribute">stderr</span>": <span class="hljs-value"><span class="hljs-literal">null</span></span>, | |
"<span class="hljs-attribute">token</span>": <span class="hljs-value"><span class="hljs-string">"e80153f5-e7d8-4cd2-9e10-6c0ddbf9e3bf"</span></span>, | |
"<span class="hljs-attribute">compile_output</span>": <span class="hljs-value"><span class="hljs-literal">null</span></span>, | |
"<span class="hljs-attribute">message</span>": <span class="hljs-value"><span class="hljs-literal">null</span></span>, | |
"<span class="hljs-attribute">status</span>": <span class="hljs-value">{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">3</span></span>, | |
"<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Accepted"</span> | |
</span>} | |
</span>}</code></pre><div style="height: 1px;"></div></div></div><div class="title"><strong>Response <code>400</code></strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><div class="description"><p>If submission status is <code>1</code> or <code>2</code>.</p> | |
</div><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ | |
"<span class="hljs-attribute">error</span>": <span class="hljs-value"><span class="hljs-string">"submission cannot be deleted because its status is 1 (In Queue)"</span> | |
</span>}</code></pre><div style="height: 1px;"></div></div></div><div class="title"><strong>Response <code>401</code></strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><div class="description"><p>Authentication failed. Please read about <a href="#authentication">authentication</a> process.</p> | |
</div></div></div><div class="title"><strong>Response <code>403</code></strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><div class="description"><p>Authorization failed. Please read about <a href="#authorization">authorization</a> process.</p> | |
</div></div></div></div></div><div id="submissions-submission-batch" class="resource"><h3 class="resource-heading">Submission Batch <a href="#submissions-submission-batch" class="permalink"> ¶</a></h3><div id="submissions-submission-batch-post" class="action post"><h4 class="action-heading"><div class="name">Create a Submission Batch</div><a href="#submissions-submission-batch-post" class="method post">POST</a><code class="uri">/submissions/batch{?base64_encoded}</code></h4><p>Create multiple submissions at once.</p> | |
<h4>Example URI</h4><div class="definition"><span class="method post">POST</span> <span class="uri"><span class="hostname">https://ce.judge0.com</span>/submissions/batch?<span class="hljs-attribute">base64_encoded=</span><span class="hljs-literal">false</span></span></div><div class="title"><strong>URI Parameters</strong><div class="collapse-button show"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><dl class="inner"><dt>base64_encoded</dt><dd><code>boolean</code> <span>(optional)</span> <span class="text-info default"><strong>Default: </strong><span>false</span></span> <span class="text-muted example"><strong>Example: </strong><span>false</span></span><p>Set to <code>true</code> if you are sending Base64 encoded data.</p> | |
</dd></dl></div><div class="title"><strong>Request</strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ | |
"<span class="hljs-attribute">submissions</span>": <span class="hljs-value">[ | |
{ | |
"<span class="hljs-attribute">language_id</span>": <span class="hljs-value"><span class="hljs-number">46</span></span>, | |
"<span class="hljs-attribute">source_code</span>": <span class="hljs-value"><span class="hljs-string">"echo hello from Bash"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">language_id</span>": <span class="hljs-value"><span class="hljs-number">71</span></span>, | |
"<span class="hljs-attribute">source_code</span>": <span class="hljs-value"><span class="hljs-string">"print(\"hello from Python\")"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">language_id</span>": <span class="hljs-value"><span class="hljs-number">72</span></span>, | |
"<span class="hljs-attribute">source_code</span>": <span class="hljs-value"><span class="hljs-string">"puts(\"hello from Ruby\")"</span> | |
</span>} | |
] | |
</span>}</code></pre><div style="height: 1px;"></div></div></div><div class="title"><strong>Response <code>201</code></strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>[ | |
{ | |
"<span class="hljs-attribute">token</span>": <span class="hljs-value"><span class="hljs-string">"db54881d-bcf5-4c7b-a2e3-d33fe7e25de7"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">token</span>": <span class="hljs-value"><span class="hljs-string">"ecc52a9b-ea80-4a00-ad50-4ab6cc3bb2a1"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">token</span>": <span class="hljs-value"><span class="hljs-string">"1b35ec3b-5776-48ef-b646-d5522bdeb2cc"</span> | |
</span>} | |
]</code></pre><div style="height: 1px;"></div></div></div><div class="title"><strong>Request</strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ | |
"<span class="hljs-attribute">submissions</span>": <span class="hljs-value">[ | |
{ | |
"<span class="hljs-attribute">language_id</span>": <span class="hljs-value"><span class="hljs-number">46</span></span>, | |
"<span class="hljs-attribute">source_code</span>": <span class="hljs-value"><span class="hljs-string">"echo hello from Bash"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">language_id</span>": <span class="hljs-value"><span class="hljs-number">123456789</span></span>, | |
"<span class="hljs-attribute">source_code</span>": <span class="hljs-value"><span class="hljs-string">"print(\"hello from Python\")"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">language_id</span>": <span class="hljs-value"><span class="hljs-number">72</span></span>, | |
"<span class="hljs-attribute">source_code</span>": <span class="hljs-value"><span class="hljs-string">""</span> | |
</span>} | |
] | |
</span>}</code></pre><div style="height: 1px;"></div></div></div><div class="title"><strong>Response <code>201</code></strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>[ | |
{ | |
"<span class="hljs-attribute">token</span>": <span class="hljs-value"><span class="hljs-string">"c2dd8881-644b-462d-b1f9-73dd3bb0118a"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">language_id</span>": <span class="hljs-value">[ | |
<span class="hljs-string">"language with id 123456789 doesn't exist"</span> | |
] | |
</span>}, | |
{ | |
"<span class="hljs-attribute">source_code</span>": <span class="hljs-value">[ | |
<span class="hljs-string">"can't be blank"</span> | |
] | |
</span>} | |
]</code></pre><div style="height: 1px;"></div></div></div></div><div id="submissions-submission-batch-get" class="action get"><h4 class="action-heading"><div class="name">Get a Submission Batch</div><a href="#submissions-submission-batch-get" class="method get">GET</a><code class="uri">/submissions/batch{?tokens,base64_encoded,fields}</code></h4><p>Get multiple submissions at once.</p> | |
<h4>Example URI</h4><div class="definition"><span class="method get">GET</span> <span class="uri"><span class="hostname">https://ce.judge0.com</span>/submissions/batch?<span class="hljs-attribute">tokens=</span><span class="hljs-literal">db54881d-bcf5-4c7b-a2e3-d33fe7e25de7,ecc52a9b-ea80-4a00-ad50-4ab6cc3bb2a1,1b35ec3b-5776-48ef-b646-d5522bdeb2cc</span>&<span class="hljs-attribute">base64_encoded=</span><span class="hljs-literal">false</span>&<span class="hljs-attribute">fields=</span><span class="hljs-literal">token,stdout,stderr,status_id,language_id</span></span></div><div class="title"><strong>URI Parameters</strong><div class="collapse-button show"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><dl class="inner"><dt>tokens</dt><dd><code>string</code> <span class="required">(required)</span> <span class="text-muted example"><strong>Example: </strong><span>db54881d-bcf5-4c7b-a2e3-d33fe7e25de7,ecc52a9b-ea80-4a00-ad50-4ab6cc3bb2a1,1b35ec3b-5776-48ef-b646-d5522bdeb2cc</span></span><p>Submission tokens separeted with <code>,</code>.</p> | |
</dd><dt>base64_encoded</dt><dd><code>boolean</code> <span>(optional)</span> <span class="text-info default"><strong>Default: </strong><span>false</span></span> <span class="text-muted example"><strong>Example: </strong><span>false</span></span><p>Set to <code>true</code> if you want to receive Base64 encoded data.</p> | |
</dd><dt>fields</dt><dd><code>string</code> <span>(optional)</span> <span class="text-info default"><strong>Default: </strong><span>stdout,time,memory,stderr,token,compile_output,message,status</span></span> <span class="text-muted example"><strong>Example: </strong><span>token,stdout,stderr,status_id,language_id</span></span><p>Return only the desired attributes.</p> | |
</dd></dl></div><div class="title"><strong>Response <code>200</code></strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ | |
"<span class="hljs-attribute">submissions</span>": <span class="hljs-value">[ | |
{ | |
"<span class="hljs-attribute">language_id</span>": <span class="hljs-value"><span class="hljs-number">46</span></span>, | |
"<span class="hljs-attribute">stdout</span>": <span class="hljs-value"><span class="hljs-string">"hello from Bash\n"</span></span>, | |
"<span class="hljs-attribute">status_id</span>": <span class="hljs-value"><span class="hljs-number">3</span></span>, | |
"<span class="hljs-attribute">stderr</span>": <span class="hljs-value"><span class="hljs-literal">null</span></span>, | |
"<span class="hljs-attribute">token</span>": <span class="hljs-value"><span class="hljs-string">"db54881d-bcf5-4c7b-a2e3-d33fe7e25de7"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">language_id</span>": <span class="hljs-value"><span class="hljs-number">71</span></span>, | |
"<span class="hljs-attribute">stdout</span>": <span class="hljs-value"><span class="hljs-string">"hello from Python\n"</span></span>, | |
"<span class="hljs-attribute">status_id</span>": <span class="hljs-value"><span class="hljs-number">3</span></span>, | |
"<span class="hljs-attribute">stderr</span>": <span class="hljs-value"><span class="hljs-literal">null</span></span>, | |
"<span class="hljs-attribute">token</span>": <span class="hljs-value"><span class="hljs-string">"ecc52a9b-ea80-4a00-ad50-4ab6cc3bb2a1"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">language_id</span>": <span class="hljs-value"><span class="hljs-number">72</span></span>, | |
"<span class="hljs-attribute">stdout</span>": <span class="hljs-value"><span class="hljs-string">"hello from Ruby\n"</span></span>, | |
"<span class="hljs-attribute">status_id</span>": <span class="hljs-value"><span class="hljs-number">3</span></span>, | |
"<span class="hljs-attribute">stderr</span>": <span class="hljs-value"><span class="hljs-literal">null</span></span>, | |
"<span class="hljs-attribute">token</span>": <span class="hljs-value"><span class="hljs-string">"1b35ec3b-5776-48ef-b646-d5522bdeb2cc"</span> | |
</span>} | |
] | |
</span>}</code></pre><div style="height: 1px;"></div></div></div></div></div></section><section id="statuses-and-languages" class="resource-group"><h2 class="group-heading">Statuses and Languages <a href="#statuses-and-languages" class="permalink">¶</a></h2><div id="statuses-and-languages-language" class="resource"><h3 class="resource-heading">Language <a href="#statuses-and-languages-language" class="permalink"> ¶</a></h3><div id="statuses-and-languages-language-get" class="action get"><h4 class="action-heading"><div class="name">Get Languages</div><a href="#statuses-and-languages-language-get" class="method get">GET</a><code class="uri">/languages/</code></h4><p>Get active languages.</p> | |
<h4>Example URI</h4><div class="definition"><span class="method get">GET</span> <span class="uri"><span class="hostname">https://ce.judge0.com</span>/languages/</span></div><div class="title"><strong>Response <code>200</code></strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>[ | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">45</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Assembly (NASM 2.14.02)"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">46</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Bash (5.0.0)"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">47</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Basic (FBC 1.07.1)"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">48</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"C (GCC 7.4.0)"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">52</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"C++ (GCC 7.4.0)"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">49</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"C (GCC 8.3.0)"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">53</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"C++ (GCC 8.3.0)"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">50</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"C (GCC 9.2.0)"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">54</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"C++ (GCC 9.2.0)"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">51</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"C# (Mono 6.6.0.161)"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">55</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Common Lisp (SBCL 2.0.0)"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">56</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"D (DMD 2.089.1)"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">57</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Elixir (1.9.4)"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">58</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Erlang (OTP 22.2)"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">44</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Executable"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">59</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Fortran (GFortran 9.2.0)"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">60</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Go (1.13.5)"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">61</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Haskell (GHC 8.8.1)"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">62</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Java (OpenJDK 13.0.1)"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">63</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"JavaScript (Node.js 12.14.0)"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">64</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Lua (5.3.5)"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">65</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"OCaml (4.09.0)"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">66</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Octave (5.1.0)"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">67</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Pascal (FPC 3.0.4)"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">68</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"PHP (7.4.1)"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">43</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Plain Text"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">69</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Prolog (GNU Prolog 1.4.5)"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">70</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Python (2.7.17)"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">71</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Python (3.8.1)"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">72</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Ruby (2.7.0)"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">73</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Rust (1.40.0)"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">74</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"TypeScript (3.7.4)"</span> | |
</span>} | |
]</code></pre><div style="height: 1px;"></div></div></div></div><div id="statuses-and-languages-language-get-1" class="action get"><h4 class="action-heading"><div class="name">Get a Language</div><a href="#statuses-and-languages-language-get-1" class="method get">GET</a><code class="uri">/languages/{id}</code></h4><h4>Example URI</h4><div class="definition"><span class="method get">GET</span> <span class="uri"><span class="hostname">https://ce.judge0.com</span>/languages/<span class="hljs-attribute" title="id">1</span></span></div><div class="title"><strong>URI Parameters</strong><div class="collapse-button show"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><dl class="inner"><dt>id</dt><dd><code>integer</code> <span class="required">(required)</span> <span class="text-muted example"><strong>Example: </strong><span>1</span></span><p>Language ID.</p> | |
</dd></dl></div><div class="title"><strong>Response <code>200</code></strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Bash (4.4)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">true</span></span>, | |
"<span class="hljs-attribute">source_file</span>": <span class="hljs-value"><span class="hljs-string">"script.sh"</span></span>, | |
"<span class="hljs-attribute">compile_cmd</span>": <span class="hljs-value"><span class="hljs-literal">null</span></span>, | |
"<span class="hljs-attribute">run_cmd</span>": <span class="hljs-value"><span class="hljs-string">"/usr/local/bash-4.4/bin/bash script.sh"</span> | |
</span>}</code></pre><div style="height: 1px;"></div></div></div></div></div><div id="statuses-and-languages-active-and-archived-languages" class="resource"><h3 class="resource-heading">Active and Archived Languages <a href="#statuses-and-languages-active-and-archived-languages" class="permalink"> ¶</a></h3><div id="statuses-and-languages-active-and-archived-languages-get" class="action get"><h4 class="action-heading"><div class="name">Get Active and Archived Languages</div><a href="#statuses-and-languages-active-and-archived-languages-get" class="method get">GET</a><code class="uri">/languages/all</code></h4><p>Get active and archived languages.</p> | |
<h4>Example URI</h4><div class="definition"><span class="method get">GET</span> <span class="uri"><span class="hostname">https://ce.judge0.com</span>/languages/all</span></div><div class="title"><strong>Response <code>200</code></strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>[ | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">45</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Assembly (NASM 2.14.02)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">false</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">2</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Bash (4.0)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">true</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Bash (4.4)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">true</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">46</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Bash (5.0.0)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">false</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">3</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Basic (fbc 1.05.0)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">true</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">47</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Basic (FBC 1.07.1)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">false</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">15</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"C++ (g++ 4.8.5)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">true</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">14</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"C++ (g++ 4.9.4)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">true</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">13</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"C++ (g++ 5.4.0)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">true</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">12</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"C++ (g++ 6.3.0)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">true</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">11</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"C++ (g++ 6.4.0)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">true</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">10</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"C++ (g++ 7.2.0)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">true</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">9</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"C (gcc 4.8.5)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">true</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">8</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"C (gcc 4.9.4)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">true</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">7</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"C (gcc 5.4.0)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">true</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">6</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"C (gcc 6.3.0)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">true</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">5</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"C (gcc 6.4.0)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">true</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">4</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"C (gcc 7.2.0)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">true</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">48</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"C (GCC 7.4.0)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">false</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">52</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"C++ (GCC 7.4.0)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">false</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">49</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"C (GCC 8.3.0)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">false</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">53</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"C++ (GCC 8.3.0)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">false</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">50</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"C (GCC 9.2.0)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">false</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">54</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"C++ (GCC 9.2.0)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">false</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">18</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Clojure (1.8.0)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">true</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">17</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"C# (mono 5.2.0.224)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">true</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">16</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"C# (mono 5.4.0.167)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">true</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">51</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"C# (Mono 6.6.0.161)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">false</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">55</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Common Lisp (SBCL 2.0.0)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">false</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">19</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Crystal (0.23.1)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">true</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">56</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"D (DMD 2.089.1)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">false</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">20</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Elixir (1.5.1)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">true</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">57</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Elixir (1.9.4)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">false</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">21</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Erlang (OTP 20.0)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">true</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">58</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Erlang (OTP 22.2)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">false</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">44</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Executable"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">false</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">59</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Fortran (GFortran 9.2.0)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">false</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">60</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Go (1.13.5)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">false</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">22</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Go (1.9)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">true</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">24</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Haskell (ghc 8.0.2)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">true</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">23</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Haskell (ghc 8.2.1)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">true</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">61</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Haskell (GHC 8.8.1)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">false</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">25</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Insect (5.0.0)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">true</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">62</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Java (OpenJDK 13.0.1)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">false</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">28</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Java (OpenJDK 7)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">true</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">27</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Java (OpenJDK 8)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">true</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">26</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Java (OpenJDK 9 with Eclipse OpenJ9)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">true</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">63</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"JavaScript (Node.js 12.14.0)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">false</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">30</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"JavaScript (nodejs 7.10.1)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">true</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">29</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"JavaScript (nodejs 8.5.0)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">true</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">64</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Lua (5.3.5)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">false</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">31</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"OCaml (4.05.0)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">true</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">65</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"OCaml (4.09.0)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">false</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">32</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Octave (4.2.0)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">true</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">66</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Octave (5.1.0)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">false</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">33</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Pascal (fpc 3.0.0)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">true</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">67</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Pascal (FPC 3.0.4)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">false</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">68</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"PHP (7.4.1)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">false</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">43</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Plain Text"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">false</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">69</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Prolog (GNU Prolog 1.4.5)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">false</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">37</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Python (2.6.9)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">true</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">70</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Python (2.7.17)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">false</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">36</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Python (2.7.9)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">true</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">35</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Python (3.5.3)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">true</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">34</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Python (3.6.0)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">true</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">71</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Python (3.8.1)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">false</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">41</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Ruby (2.1.9)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">true</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">40</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Ruby (2.2.6)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">true</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">39</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Ruby (2.3.3)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">true</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">38</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Ruby (2.4.0)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">true</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">72</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Ruby (2.7.0)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">false</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">42</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Rust (1.20.0)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">true</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">73</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Rust (1.40.0)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">false</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">74</span></span>, | |
"<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"TypeScript (3.7.4)"</span></span>, | |
"<span class="hljs-attribute">is_archived</span>": <span class="hljs-value"><span class="hljs-literal">false</span> | |
</span>} | |
]</code></pre><div style="height: 1px;"></div></div></div></div></div><div id="statuses-and-languages-status" class="resource"><h3 class="resource-heading">Status <a href="#statuses-and-languages-status" class="permalink"> ¶</a></h3><div id="statuses-and-languages-status-get" class="action get"><h4 class="action-heading"><div class="name">Get Statuses</div><a href="#statuses-and-languages-status-get" class="method get">GET</a><code class="uri">/statuses</code></h4><h4>Example URI</h4><div class="definition"><span class="method get">GET</span> <span class="uri"><span class="hostname">https://ce.judge0.com</span>/statuses</span></div><div class="title"><strong>Response <code>200</code></strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>[ | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, | |
"<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"In Queue"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">2</span></span>, | |
"<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Processing"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">3</span></span>, | |
"<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Accepted"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">4</span></span>, | |
"<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Wrong Answer"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">5</span></span>, | |
"<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Time Limit Exceeded"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">6</span></span>, | |
"<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Compilation Error"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">7</span></span>, | |
"<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Runtime Error (SIGSEGV)"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">8</span></span>, | |
"<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Runtime Error (SIGXFSZ)"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">9</span></span>, | |
"<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Runtime Error (SIGFPE)"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">10</span></span>, | |
"<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Runtime Error (SIGABRT)"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">11</span></span>, | |
"<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Runtime Error (NZEC)"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">12</span></span>, | |
"<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Runtime Error (Other)"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">13</span></span>, | |
"<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Internal Error"</span> | |
</span>}, | |
{ | |
"<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">14</span></span>, | |
"<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Exec Format Error"</span> | |
</span>} | |
]</code></pre><div style="height: 1px;"></div></div></div></div></div></section><section id="system-and-configuration" class="resource-group"><h2 class="group-heading">System and Configuration <a href="#system-and-configuration" class="permalink">¶</a></h2><div id="system-and-configuration-system-info" class="resource"><h3 class="resource-heading">System Info <a href="#system-and-configuration-system-info" class="permalink"> ¶</a></h3><div id="system-and-configuration-system-info-get" class="action get"><h4 class="action-heading"><div class="name">System Info</div><a href="#system-and-configuration-system-info-get" class="method get">GET</a><code class="uri">/system_info</code></h4><p>System information gives you detailed information about system on which Judge0 is running.</p> | |
<p>This information is result of two commands on a host system:</p> | |
<ul> | |
<li> | |
<p><code>lscpu</code></p> | |
</li> | |
<li> | |
<p><code>free -h</code></p> | |
</li> | |
</ul> | |
<p>Please note that Judge0 consists of two systems: <strong>web</strong> and <strong>worker</strong>. <strong>Web</strong> system is the one who | |
provides you the web API, and <strong>Worker</strong> is the one who processes your submissions. They can be placed on two or more | |
different hosts with different system configurations. Result of this API request is always from web system. | |
This means that this request might be irrelevant to you if you as user don’t know if web and worker are | |
hosted on the same machine. To find that out, please contact admins who host Judge0 you are using.</p> | |
<h4>Example URI</h4><div class="definition"><span class="method get">GET</span> <span class="uri"><span class="hostname">https://ce.judge0.com</span>/system_info</span></div><div class="title"><strong>Response <code>200</code></strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ | |
"<span class="hljs-attribute">Architecture</span>": <span class="hljs-value"><span class="hljs-string">"x86_64"</span></span>, | |
"<span class="hljs-attribute">CPU op-mode(s)</span>": <span class="hljs-value"><span class="hljs-string">"32-bit, 64-bit"</span></span>, | |
"<span class="hljs-attribute">Byte Order</span>": <span class="hljs-value"><span class="hljs-string">"Little Endian"</span></span>, | |
"<span class="hljs-attribute">CPU(s)</span>": <span class="hljs-value"><span class="hljs-string">"4"</span></span>, | |
"<span class="hljs-attribute">On-line CPU(s) list</span>": <span class="hljs-value"><span class="hljs-string">"0-3"</span></span>, | |
"<span class="hljs-attribute">Thread(s) per core</span>": <span class="hljs-value"><span class="hljs-string">"2"</span></span>, | |
"<span class="hljs-attribute">Core(s) per socket</span>": <span class="hljs-value"><span class="hljs-string">"2"</span></span>, | |
"<span class="hljs-attribute">Socket(s)</span>": <span class="hljs-value"><span class="hljs-string">"1"</span></span>, | |
"<span class="hljs-attribute">NUMA node(s)</span>": <span class="hljs-value"><span class="hljs-string">"1"</span></span>, | |
"<span class="hljs-attribute">Vendor ID</span>": <span class="hljs-value"><span class="hljs-string">"GenuineIntel"</span></span>, | |
"<span class="hljs-attribute">CPU family</span>": <span class="hljs-value"><span class="hljs-string">"6"</span></span>, | |
"<span class="hljs-attribute">Model</span>": <span class="hljs-value"><span class="hljs-string">"61"</span></span>, | |
"<span class="hljs-attribute">Model name</span>": <span class="hljs-value"><span class="hljs-string">"Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz"</span></span>, | |
"<span class="hljs-attribute">Stepping</span>": <span class="hljs-value"><span class="hljs-string">"4"</span></span>, | |
"<span class="hljs-attribute">CPU MHz</span>": <span class="hljs-value"><span class="hljs-string">"2508.703"</span></span>, | |
"<span class="hljs-attribute">CPU max MHz</span>": <span class="hljs-value"><span class="hljs-string">"2700.0000"</span></span>, | |
"<span class="hljs-attribute">CPU min MHz</span>": <span class="hljs-value"><span class="hljs-string">"500.0000"</span></span>, | |
"<span class="hljs-attribute">BogoMIPS</span>": <span class="hljs-value"><span class="hljs-string">"4392.12"</span></span>, | |
"<span class="hljs-attribute">Virtualization</span>": <span class="hljs-value"><span class="hljs-string">"VT-x"</span></span>, | |
"<span class="hljs-attribute">L1d cache</span>": <span class="hljs-value"><span class="hljs-string">"32K"</span></span>, | |
"<span class="hljs-attribute">L1i cache</span>": <span class="hljs-value"><span class="hljs-string">"32K"</span></span>, | |
"<span class="hljs-attribute">L2 cache</span>": <span class="hljs-value"><span class="hljs-string">"256K"</span></span>, | |
"<span class="hljs-attribute">L3 cache</span>": <span class="hljs-value"><span class="hljs-string">"3072K"</span></span>, | |
"<span class="hljs-attribute">NUMA node0 CPU(s)</span>": <span class="hljs-value"><span class="hljs-string">"0-3"</span></span>, | |
"<span class="hljs-attribute">Mem</span>": <span class="hljs-value"><span class="hljs-string">"7.7G"</span></span>, | |
"<span class="hljs-attribute">Swap</span>": <span class="hljs-value"><span class="hljs-string">"8.0G"</span> | |
</span>}</code></pre><div style="height: 1px;"></div></div></div></div></div><div id="system-and-configuration-configuration-info" class="resource"><h3 class="resource-heading">Configuration Info <a href="#system-and-configuration-configuration-info" class="permalink"> ¶</a></h3><div id="system-and-configuration-configuration-info-get" class="action get"><h4 class="action-heading"><div class="name">Configuration Info</div><a href="#system-and-configuration-configuration-info-get" class="method get">GET</a><code class="uri">/config_info</code></h4><p>Configuration information gives you detailed information about configuration of Judge0. | |
This configuration can be changed through <a href="https://github.com/judge0/judge0/blob/master/judge0.conf">judge0.conf</a> | |
file by admin who hosts Judge0 instance.</p> | |
<p>This configuration gives every admin a flexibility to configure Judge0 according to server abilities and needs. It also gives users | |
insight on some <em>default configuration values</em> which are used when their programs are run.</p> | |
<p>Each of these <em>configuration variables</em> have <em>default values</em> which we consider as recommended in case you are not sure should you change them.</p> | |
<p>We will refer to <em>default values</em> as values which Judge0 automatically assigns to each of these <em>configuration variables</em>, | |
if admin didn’t set them. For example, default value of <em>configuration variable</em> <code>cpu_time_limit</code> is <code>2</code>.</p> | |
<table> | |
<thead> | |
<tr> | |
<th style="text-align:center">#</th> | |
<th style="text-align:left">Name</th> | |
<th style="text-align:center">Type</th> | |
<th style="text-align:center">Unit</th> | |
<th style="text-align:left">Description</th> | |
<th style="text-align:left">Default Value</th> | |
</tr> | |
</thead> | |
<tbody> | |
<tr> | |
<td style="text-align:center">1</td> | |
<td style="text-align:left"><code>enable_wait_result</code></td> | |
<td style="text-align:center">boolean</td> | |
<td style="text-align:center"></td> | |
<td style="text-align:left">If enabled user can request to synchronously wait for submission result on submission create.</td> | |
<td style="text-align:left">true</td> | |
</tr> | |
<tr> | |
<td style="text-align:center">2</td> | |
<td style="text-align:left"><code>enable_compiler_options</code></td> | |
<td style="text-align:center">boolean</td> | |
<td style="text-align:center"></td> | |
<td style="text-align:left">If enabled user can set <code>compiler_options</code>.</td> | |
<td style="text-align:left">true</td> | |
</tr> | |
<tr> | |
<td style="text-align:center">3</td> | |
<td style="text-align:left"><code>allowed_languages_for_compile_options</code></td> | |
<td style="text-align:center">list of strings</td> | |
<td style="text-align:center"></td> | |
<td style="text-align:left">Languages for which setting compiler options is allowed.</td> | |
<td style="text-align:left">Empty, i.e. for all languages it is allowed to set compiler options.</td> | |
</tr> | |
<tr> | |
<td style="text-align:center">4</td> | |
<td style="text-align:left"><code>enable_command_line_arguments</code></td> | |
<td style="text-align:center">boolean</td> | |
<td style="text-align:center"></td> | |
<td style="text-align:left">If enabled user can set <code>command_line_arguments</code>.</td> | |
<td style="text-align:left">true</td> | |
</tr> | |
<tr> | |
<td style="text-align:center">5</td> | |
<td style="text-align:left"><code>enable_submission_delete</code></td> | |
<td style="text-align:center">boolean</td> | |
<td style="text-align:center"></td> | |
<td style="text-align:left">If enabled authorized user can <a href="#submissions-submission-delete">delete a submission</a>.</td> | |
<td style="text-align:left">false</td> | |
</tr> | |
<tr> | |
<td style="text-align:center">6</td> | |
<td style="text-align:left"><code>max_queue_size</code></td> | |
<td style="text-align:center">integer</td> | |
<td style="text-align:center"></td> | |
<td style="text-align:left">Maximum number of submissions that can wait in queue.</td> | |
<td style="text-align:left">100</td> | |
</tr> | |
<tr> | |
<td style="text-align:center">7</td> | |
<td style="text-align:left"><code>cpu_time_limit</code></td> | |
<td style="text-align:center">float</td> | |
<td style="text-align:center">second</td> | |
<td style="text-align:left">Default runtime limit for every program (in seconds). Decimal numbers are allowed. Time in which the OS assigns the processor to different tasks is not counted.</td> | |
<td style="text-align:left">2</td> | |
</tr> | |
<tr> | |
<td style="text-align:center">8</td> | |
<td style="text-align:left"><code>cpu_extra_time</code></td> | |
<td style="text-align:center">float</td> | |
<td style="text-align:center">second</td> | |
<td style="text-align:left">When a time limit is exceeded, wait for extra time, before killing the program. This has the advantage that the real execution time is reported, even though it slightly exceeds the limit.</td> | |
<td style="text-align:left">0.5</td> | |
</tr> | |
<tr> | |
<td style="text-align:center">9</td> | |
<td style="text-align:left"><code>wall_time_limit</code></td> | |
<td style="text-align:center">float</td> | |
<td style="text-align:center">second</td> | |
<td style="text-align:left">Limit wall-clock time in seconds. Decimal numbers are allowed. This clock measures the time from the start of the program to its exit, for an external event. We recommend to use <code>cpu_time_limit</code> as the main limit, but set <code>wall_time_limit</code> to a much higher value as a precaution against sleeping programs.</td> | |
<td style="text-align:left">5</td> | |
</tr> | |
<tr> | |
<td style="text-align:center">10</td> | |
<td style="text-align:left"><code>memory_limit</code></td> | |
<td style="text-align:center">integer</td> | |
<td style="text-align:center">kilobyte</td> | |
<td style="text-align:left">Limit address space of the program in kilobytes.</td> | |
<td style="text-align:left">128000</td> | |
</tr> | |
<tr> | |
<td style="text-align:center">11</td> | |
<td style="text-align:left"><code>stack_limit</code></td> | |
<td style="text-align:center">integer</td> | |
<td style="text-align:center">kilobyte</td> | |
<td style="text-align:left">Limit process stack in kilobytes.</td> | |
<td style="text-align:left">64000</td> | |
</tr> | |
<tr> | |
<td style="text-align:center">12</td> | |
<td style="text-align:left"><code>max_processes_and_or_threads</code></td> | |
<td style="text-align:center">integer</td> | |
<td style="text-align:center"></td> | |
<td style="text-align:left">Maximum number of processes and/or threads program can create.</td> | |
<td style="text-align:left">60</td> | |
</tr> | |
<tr> | |
<td style="text-align:center">13</td> | |
<td style="text-align:left"><code>enable_per_process_and_thread_time_limit</code></td> | |
<td style="text-align:center">boolean</td> | |
<td style="text-align:center"></td> | |
<td style="text-align:left">If <code>true</code> then <code>cpu_time_limit</code> will be used as per process and thread.</td> | |
<td style="text-align:left">false</td> | |
</tr> | |
<tr> | |
<td style="text-align:center">14</td> | |
<td style="text-align:left"><code>enable_per_process_and_thread_memory_limit</code></td> | |
<td style="text-align:center">boolean</td> | |
<td style="text-align:center"></td> | |
<td style="text-align:left">If <code>true</code> then <code>memory_limit</code> will be used as per process and thread.</td> | |
<td style="text-align:left">true</td> | |
</tr> | |
<tr> | |
<td style="text-align:center">15</td> | |
<td style="text-align:left"><code>max_file_size</code></td> | |
<td style="text-align:center">integer</td> | |
<td style="text-align:center">kilobyte</td> | |
<td style="text-align:left">Limit size of files created (or modified) by the program.</td> | |
<td style="text-align:left">1024</td> | |
</tr> | |
<tr> | |
<td style="text-align:center">16</td> | |
<td style="text-align:left"><code>allow_enable_network</code></td> | |
<td style="text-align:center">boolean</td> | |
<td style="text-align:center"></td> | |
<td style="text-align:left">If enabled user can set <code>enable_network</code>.</td> | |
<td style="text-align:left">true</td> | |
</tr> | |
<tr> | |
<td style="text-align:center">17</td> | |
<td style="text-align:left"><code>enable_network</code></td> | |
<td style="text-align:center">boolean</td> | |
<td style="text-align:center"></td> | |
<td style="text-align:left">If enabled program will have network access.</td> | |
<td style="text-align:left">true</td> | |
</tr> | |
<tr> | |
<td style="text-align:center">18</td> | |
<td style="text-align:left"><code>number_of_runs</code></td> | |
<td style="text-align:center">integer</td> | |
<td style="text-align:center"></td> | |
<td style="text-align:left">Run each program this many times and take average of time and memory.</td> | |
<td style="text-align:left">1</td> | |
</tr> | |
</tbody> | |
</table> | |
<p><em>Default configuration value</em> for each variable is given to you as response of this API call. For example, <em>default configuration value</em> | |
for variable <code>cpu_extra_time</code> might be <code>2</code>, and if admin didn’t set this, then it is <code>0.5</code> (<em>default value</em>). | |
This means that admin set <code>cpu_extra_time</code> <em>configuration variable</em> to value <code>2</code> and we say it is now <em>default configuration value</em> for this | |
variable <code>cpu_extra_time</code>.</p> | |
<p>Every <a href="#submissions-submission">submission</a> can change each of the configuration variables according to its needs. For example, | |
user might create submission which has <code>cpu_time_limit</code> of <code>5</code> seconds. For security reasons we need to limit values of each of these | |
configuration variables. For example, we don’t want user to create a submission which has <code>cpu_time_limit</code> of <code>100000</code> seconds.</p> | |
<p>For this security reason we are introducing <em>limit configuration variables</em> for each <em>configuration variable</em>.</p> | |
<table> | |
<thead> | |
<tr> | |
<th style="text-align:center">#</th> | |
<th style="text-align:left">Name</th> | |
<th style="text-align:center">Type</th> | |
<th style="text-align:center">Unit</th> | |
<th style="text-align:left">Description</th> | |
<th style="text-align:left">Default Value</th> | |
</tr> | |
</thead> | |
<tbody> | |
<tr> | |
<td style="text-align:center">1</td> | |
<td style="text-align:left"><code>max_cpu_time_limit</code></td> | |
<td style="text-align:center">float</td> | |
<td style="text-align:center">second</td> | |
<td style="text-align:left">Maximum custom <code>cpu_time_limit</code></td> | |
<td style="text-align:left">15</td> | |
</tr> | |
<tr> | |
<td style="text-align:center">2</td> | |
<td style="text-align:left"><code>max_cpu_extra_time</code></td> | |
<td style="text-align:center">float</td> | |
<td style="text-align:center">second</td> | |
<td style="text-align:left">Maximum custom <code>cpu_extra_time</code></td> | |
<td style="text-align:left">2</td> | |
</tr> | |
<tr> | |
<td style="text-align:center">3</td> | |
<td style="text-align:left"><code>max_wall_time_limit</code></td> | |
<td style="text-align:center">float</td> | |
<td style="text-align:center">second</td> | |
<td style="text-align:left">Maximum custom <code>wall_time_limit</code></td> | |
<td style="text-align:left">20</td> | |
</tr> | |
<tr> | |
<td style="text-align:center">4</td> | |
<td style="text-align:left"><code>max_memory_limit</code></td> | |
<td style="text-align:center">integer</td> | |
<td style="text-align:center">kilobyte</td> | |
<td style="text-align:left">Maximum custom <code>memory_limit</code></td> | |
<td style="text-align:left">256000</td> | |
</tr> | |
<tr> | |
<td style="text-align:center">5</td> | |
<td style="text-align:left"><code>max_stack_limit</code></td> | |
<td style="text-align:center">integer</td> | |
<td style="text-align:center">kilobyte</td> | |
<td style="text-align:left">Maximum custom <code>stack_limit</code></td> | |
<td style="text-align:left">128000</td> | |
</tr> | |
<tr> | |
<td style="text-align:center">6</td> | |
<td style="text-align:left"><code>max_max_processes_and_or_threads</code></td> | |
<td style="text-align:center">integer</td> | |
<td style="text-align:center"></td> | |
<td style="text-align:left">Maximum custom <code>max_processes_and_or_threads</code></td> | |
<td style="text-align:left">120</td> | |
</tr> | |
<tr> | |
<td style="text-align:center">7</td> | |
<td style="text-align:left"><code>allow_enable_per_process_and_thread_time_limit</code></td> | |
<td style="text-align:center">boolean</td> | |
<td style="text-align:center"></td> | |
<td style="text-align:left">If <code>false</code> user won’t be able to set <code>enable_per_process_and_thread_time_limit</code> to <code>true</code></td> | |
<td style="text-align:left">true</td> | |
</tr> | |
<tr> | |
<td style="text-align:center">8</td> | |
<td style="text-align:left"><code>allow_enable_per_process_and_thread_memory_limit</code></td> | |
<td style="text-align:center">boolean</td> | |
<td style="text-align:center"></td> | |
<td style="text-align:left">If <code>false</code> user won’t be able to set <code>enable_per_process_and_thread_memory_limit</code> to <code>true</code></td> | |
<td style="text-align:left">true</td> | |
</tr> | |
<tr> | |
<td style="text-align:center">9</td> | |
<td style="text-align:left"><code>max_max_file_size</code></td> | |
<td style="text-align:center">integer</td> | |
<td style="text-align:center">kilobyte</td> | |
<td style="text-align:left">Maximux custom <code>max_file_size</code></td> | |
<td style="text-align:left">4096</td> | |
</tr> | |
<tr> | |
<td style="text-align:center">10</td> | |
<td style="text-align:left"><code>max_number_of_runs</code></td> | |
<td style="text-align:center">integer</td> | |
<td style="text-align:center"></td> | |
<td style="text-align:left">Maximum custom <code>number_of_runs</code></td> | |
<td style="text-align:left">20</td> | |
</tr> | |
</tbody> | |
</table> | |
<p>For example, <code>max_cpu_time_limit</code> with value <code>20</code> means that user cannot create new submission which has <code>cpu_time_limit</code> greater than <code>20</code>.</p> | |
<h4>Example URI</h4><div class="definition"><span class="method get">GET</span> <span class="uri"><span class="hostname">https://ce.judge0.com</span>/config_info</span></div><div class="title"><strong>Response <code>200</code></strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ | |
"<span class="hljs-attribute">enable_wait_result</span>": <span class="hljs-value"><span class="hljs-literal">true</span></span>, | |
"<span class="hljs-attribute">enable_compiler_options</span>": <span class="hljs-value"><span class="hljs-literal">true</span></span>, | |
"<span class="hljs-attribute">allowed_languages_for_compile_options</span>": <span class="hljs-value">[]</span>, | |
"<span class="hljs-attribute">enable_command_line_arguments</span>": <span class="hljs-value"><span class="hljs-literal">true</span></span>, | |
"<span class="hljs-attribute">enable_submission_delete</span>": <span class="hljs-value"><span class="hljs-literal">false</span></span>, | |
"<span class="hljs-attribute">max_queue_size</span>": <span class="hljs-value"><span class="hljs-number">100</span></span>, | |
"<span class="hljs-attribute">cpu_time_limit</span>": <span class="hljs-value"><span class="hljs-number">2</span></span>, | |
"<span class="hljs-attribute">max_cpu_time_limit</span>": <span class="hljs-value"><span class="hljs-number">15</span></span>, | |
"<span class="hljs-attribute">cpu_extra_time</span>": <span class="hljs-value"><span class="hljs-number">0.5</span></span>, | |
"<span class="hljs-attribute">max_cpu_extra_time</span>": <span class="hljs-value"><span class="hljs-number">2</span></span>, | |
"<span class="hljs-attribute">wall_time_limit</span>": <span class="hljs-value"><span class="hljs-number">5</span></span>, | |
"<span class="hljs-attribute">max_wall_time_limit</span>": <span class="hljs-value"><span class="hljs-number">20</span></span>, | |
"<span class="hljs-attribute">memory_limit</span>": <span class="hljs-value"><span class="hljs-number">128000</span></span>, | |
"<span class="hljs-attribute">max_memory_limit</span>": <span class="hljs-value"><span class="hljs-number">256000</span></span>, | |
"<span class="hljs-attribute">stack_limit</span>": <span class="hljs-value"><span class="hljs-number">64000</span></span>, | |
"<span class="hljs-attribute">max_stack_limit</span>": <span class="hljs-value"><span class="hljs-number">128000</span></span>, | |
"<span class="hljs-attribute">max_processes_and_or_threads</span>": <span class="hljs-value"><span class="hljs-number">60</span></span>, | |
"<span class="hljs-attribute">max_max_processes_and_or_threads</span>": <span class="hljs-value"><span class="hljs-number">120</span></span>, | |
"<span class="hljs-attribute">enable_per_process_and_thread_time_limit</span>": <span class="hljs-value"><span class="hljs-literal">false</span></span>, | |
"<span class="hljs-attribute">allow_enable_per_process_and_thread_time_limit</span>": <span class="hljs-value"><span class="hljs-literal">true</span></span>, | |
"<span class="hljs-attribute">enable_per_process_and_thread_memory_limit</span>": <span class="hljs-value"><span class="hljs-literal">true</span></span>, | |
"<span class="hljs-attribute">allow_enable_per_process_and_thread_memory_limit</span>": <span class="hljs-value"><span class="hljs-literal">true</span></span>, | |
"<span class="hljs-attribute">max_file_size</span>": <span class="hljs-value"><span class="hljs-number">1024</span></span>, | |
"<span class="hljs-attribute">max_max_file_size</span>": <span class="hljs-value"><span class="hljs-number">4096</span></span>, | |
"<span class="hljs-attribute">number_of_runs</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, | |
"<span class="hljs-attribute">max_number_of_runs</span>": <span class="hljs-value"><span class="hljs-number">20</span> | |
</span>}</code></pre><div style="height: 1px;"></div></div></div></div></div></section><section id="statistics" class="resource-group"><h2 class="group-heading">Statistics <a href="#statistics" class="permalink">¶</a></h2><div id="statistics-statistics" class="resource"><h3 class="resource-heading">Statistics <a href="#statistics-statistics" class="permalink"> ¶</a></h3><div id="statistics-statistics-get" class="action get"><h4 class="action-heading"><div class="name">Statistics</div><a href="#statistics-statistics-get" class="method get">GET</a><code class="uri">/statistics</code></h4><p>Get some statistics from current instance. Result is cached for 10 minutes.</p> | |
<h4>Example URI</h4><div class="definition"><span class="method get">GET</span> <span class="uri"><span class="hostname">https://ce.judge0.com</span>/statistics</span></div><div class="title"><strong>URI Parameters</strong><div class="collapse-button show"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><dl class="inner"><dt>invalidate_cache</dt><dd><code>boolean</code> <span>(optional)</span> <span class="text-muted example"><strong>Example: </strong><span>false</span></span><p>Set to <code>true</code> if you want to invalidate current cache and fetch new statistics.</p> | |
</dd></dl></div></div></div></section><section id="health-check" class="resource-group"><h2 class="group-heading">Health Check <a href="#health-check" class="permalink">¶</a></h2><div id="health-check-workers" class="resource"><h3 class="resource-heading">Workers <a href="#health-check-workers" class="permalink"> ¶</a></h3><div id="health-check-workers-get" class="action get"><h4 class="action-heading"><div class="name">Workers</div><a href="#health-check-workers-get" class="method get">GET</a><code class="uri">/workers</code></h4><p>For each queue you will get:</p> | |
<ul> | |
<li> | |
<p><code>queue</code> name</p> | |
</li> | |
<li> | |
<p>queue <code>size</code>, i.e. number of submissions that are currently waiting to be processed</p> | |
</li> | |
<li> | |
<p><code>available</code> number of workers</p> | |
</li> | |
<li> | |
<p>how many workers are <code>idle</code></p> | |
</li> | |
<li> | |
<p>how many workers are currently <code>working</code></p> | |
</li> | |
<li> | |
<p>how many workers are <code>paused</code></p> | |
</li> | |
<li> | |
<p>how many jobs <code>failed</code></p> | |
</li> | |
</ul> | |
<h4>Example URI</h4><div class="definition"><span class="method get">GET</span> <span class="uri"><span class="hostname">https://ce.judge0.com</span>/workers</span></div><div class="title"><strong>Response <code>200</code></strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>[ | |
{ | |
"<span class="hljs-attribute">queue</span>": <span class="hljs-value"><span class="hljs-string">"default"</span></span>, | |
"<span class="hljs-attribute">size</span>": <span class="hljs-value"><span class="hljs-number">0</span></span>, | |
"<span class="hljs-attribute">available</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, | |
"<span class="hljs-attribute">idle</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, | |
"<span class="hljs-attribute">working</span>": <span class="hljs-value"><span class="hljs-number">0</span></span>, | |
"<span class="hljs-attribute">paused</span>": <span class="hljs-value"><span class="hljs-number">0</span></span>, | |
"<span class="hljs-attribute">failed</span>": <span class="hljs-value"><span class="hljs-number">0</span> | |
</span>} | |
]</code></pre><div style="height: 1px;"></div></div></div></div></div></section><section id="information" class="resource-group"><h2 class="group-heading">Information <a href="#information" class="permalink">¶</a></h2><div id="information-about" class="resource"><h3 class="resource-heading">About <a href="#information-about" class="permalink"> ¶</a></h3><div id="information-about-get" class="action get"><h4 class="action-heading"><div class="name">About</div><a href="#information-about-get" class="method get">GET</a><code class="uri">/about</code></h4><p>Returns general information.</p> | |
<h4>Example URI</h4><div class="definition"><span class="method get">GET</span> <span class="uri"><span class="hostname">https://ce.judge0.com</span>/about</span></div><div class="title"><strong>Response <code>200</code></strong><div class="collapse-button"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ | |
"<span class="hljs-attribute">version</span>": <span class="hljs-value"><span class="hljs-string">"1.5.0"</span></span>, | |
"<span class="hljs-attribute">homepage</span>": <span class="hljs-value"><span class="hljs-string">"https://judge0.com"</span></span>, | |
"<span class="hljs-attribute">source_code</span>": <span class="hljs-value"><span class="hljs-string">"https://github.com/judge0/judge0"</span></span>, | |
"<span class="hljs-attribute">maintainer</span>": <span class="hljs-value"><span class="hljs-string">"Herman Zvonimir Došilović <[email protected]>"</span> | |
</span>}</code></pre><div style="height: 1px;"></div></div></div></div></div><div id="information-version" class="resource"><h3 class="resource-heading">Version <a href="#information-version" class="permalink"> ¶</a></h3><div id="information-version-get" class="action get"><h4 class="action-heading"><div class="name">Version</div><a href="#information-version-get" class="method get">GET</a><code class="uri">/version</code></h4><p>Returns current version.</p> | |
<h4>Example URI</h4><div class="definition"><span class="method get">GET</span> <span class="uri"><span class="hostname">https://ce.judge0.com</span>/version</span></div></div></div><div id="information-isolate" class="resource"><h3 class="resource-heading">Isolate <a href="#information-isolate" class="permalink"> ¶</a></h3><div id="information-isolate-get" class="action get"><h4 class="action-heading"><div class="name">Isolate</div><a href="#information-isolate-get" class="method get">GET</a><code class="uri">/isolate</code></h4><p>Returns result of <a href="https://github.com/ioi/isolate"><code>isolate --version</code></a>.</p> | |
<h4>Example URI</h4><div class="definition"><span class="method get">GET</span> <span class="uri"><span class="hostname">https://ce.judge0.com</span>/isolate</span></div></div></div><div id="information-license" class="resource"><h3 class="resource-heading">License <a href="#information-license" class="permalink"> ¶</a></h3><div id="information-license-get" class="action get"><h4 class="action-heading"><div class="name">License</div><a href="#information-license-get" class="method get">GET</a><code class="uri">/license</code></h4><p>Returns a license.</p> | |
<h4>Example URI</h4><div class="definition"><span class="method get">GET</span> <span class="uri"><span class="hostname">https://ce.judge0.com</span>/license</span></div></div></div></section></div></div></div><p style="text-align: center;" class="text-muted">Generated by <a href="https://github.com/danielgtaylor/aglio" class="aglio">aglio</a> on 17 Apr 2024</p><script>/* eslint-env browser */ | |
/* eslint quotes: [2, "single"] */ | |
; | |
/* | |
Determine if a string ends with another string. | |
*/ | |
function endsWith(str, suffix) { | |
return str.indexOf(suffix, str.length - suffix.length) !== -1; | |
} | |
/* | |
Get a list of direct child elements by class name. | |
*/ | |
function childrenByClass(element, name) { | |
var filtered = []; | |
for (var i = 0; i < element.children.length; i++) { | |
var child = element.children[i]; | |
var classNames = child.className.split(' '); | |
if (classNames.indexOf(name) !== -1) { | |
filtered.push(child); | |
} | |
} | |
return filtered; | |
} | |
/* | |
Get an array [width, height] of the window. | |
*/ | |
function getWindowDimensions() { | |
var w = window, | |
d = document, | |
e = d.documentElement, | |
g = d.body, | |
x = w.innerWidth || e.clientWidth || g.clientWidth, | |
y = w.innerHeight || e.clientHeight || g.clientHeight; | |
return [x, y]; | |
} | |
/* | |
Collapse or show a request/response example. | |
*/ | |
function toggleCollapseButton(event) { | |
var button = event.target.parentNode; | |
var content = button.parentNode.nextSibling; | |
var inner = content.children[0]; | |
if (button.className.indexOf('collapse-button') === -1) { | |
// Clicked without hitting the right element? | |
return; | |
} | |
if (content.style.maxHeight && content.style.maxHeight !== '0px') { | |
// Currently showing, so let's hide it | |
button.className = 'collapse-button'; | |
content.style.maxHeight = '0px'; | |
} else { | |
// Currently hidden, so let's show it | |
button.className = 'collapse-button show'; | |
content.style.maxHeight = inner.offsetHeight + 12 + 'px'; | |
} | |
} | |
function toggleTabButton(event) { | |
var i, index; | |
var button = event.target; | |
// Get index of the current button. | |
var buttons = childrenByClass(button.parentNode, 'tab-button'); | |
for (i = 0; i < buttons.length; i++) { | |
if (buttons[i] === button) { | |
index = i; | |
button.className = 'tab-button active'; | |
} else { | |
buttons[i].className = 'tab-button'; | |
} | |
} | |
// Hide other tabs and show this one. | |
var tabs = childrenByClass(button.parentNode.parentNode, 'tab'); | |
for (i = 0; i < tabs.length; i++) { | |
if (i === index) { | |
tabs[i].style.display = 'block'; | |
} else { | |
tabs[i].style.display = 'none'; | |
} | |
} | |
} | |
/* | |
Collapse or show a navigation menu. It will not be hidden unless it | |
is currently selected or `force` has been passed. | |
*/ | |
function toggleCollapseNav(event, force) { | |
var heading = event.target.parentNode; | |
var content = heading.nextSibling; | |
var inner = content.children[0]; | |
if (heading.className.indexOf('heading') === -1) { | |
// Clicked without hitting the right element? | |
return; | |
} | |
if (content.style.maxHeight && content.style.maxHeight !== '0px') { | |
// Currently showing, so let's hide it, but only if this nav item | |
// is already selected. This prevents newly selected items from | |
// collapsing in an annoying fashion. | |
if (force || window.location.hash && endsWith(event.target.href, window.location.hash)) { | |
content.style.maxHeight = '0px'; | |
} | |
} else { | |
// Currently hidden, so let's show it | |
content.style.maxHeight = inner.offsetHeight + 12 + 'px'; | |
} | |
} | |
/* | |
Refresh the page after a live update from the server. This only | |
works in live preview mode (using the `--server` parameter). | |
*/ | |
function refresh(body) { | |
document.querySelector('body').className = 'preload'; | |
document.body.innerHTML = body; | |
// Re-initialize the page | |
init(); | |
autoCollapse(); | |
document.querySelector('body').className = ''; | |
} | |
/* | |
Determine which navigation items should be auto-collapsed to show as many | |
as possible on the screen, based on the current window height. This also | |
collapses them. | |
*/ | |
function autoCollapse() { | |
var windowHeight = getWindowDimensions()[1]; | |
var itemsHeight = 64; /* Account for some padding */ | |
var itemsArray = Array.prototype.slice.call( | |
document.querySelectorAll('nav .resource-group .heading')); | |
// Get the total height of the navigation items | |
itemsArray.forEach(function (item) { | |
itemsHeight += item.parentNode.offsetHeight; | |
}); | |
// Should we auto-collapse any nav items? Try to find the smallest item | |
// that can be collapsed to show all items on the screen. If not possible, | |
// then collapse the largest item and do it again. First, sort the items | |
// by height from smallest to largest. | |
var sortedItems = itemsArray.sort(function (a, b) { | |
return a.parentNode.offsetHeight - b.parentNode.offsetHeight; | |
}); | |
while (sortedItems.length && itemsHeight > windowHeight) { | |
for (var i = 0; i < sortedItems.length; i++) { | |
// Will collapsing this item help? | |
var itemHeight = sortedItems[i].nextSibling.offsetHeight; | |
if ((itemsHeight - itemHeight <= windowHeight) || i === sortedItems.length - 1) { | |
// It will, so let's collapse it, remove its content height from | |
// our total and then remove it from our list of candidates | |
// that can be collapsed. | |
itemsHeight -= itemHeight; | |
toggleCollapseNav({target: sortedItems[i].children[0]}, true); | |
sortedItems.splice(i, 1); | |
break; | |
} | |
} | |
} | |
} | |
/* | |
Initialize the interactive functionality of the page. | |
*/ | |
function init() { | |
var i, j; | |
// Make collapse buttons clickable | |
var buttons = document.querySelectorAll('.collapse-button'); | |
for (i = 0; i < buttons.length; i++) { | |
buttons[i].onclick = toggleCollapseButton; | |
// Show by default? Then toggle now. | |
if (buttons[i].className.indexOf('show') !== -1) { | |
toggleCollapseButton({target: buttons[i].children[0]}); | |
} | |
} | |
var responseCodes = document.querySelectorAll('.example-names'); | |
for (i = 0; i < responseCodes.length; i++) { | |
var tabButtons = childrenByClass(responseCodes[i], 'tab-button'); | |
for (j = 0; j < tabButtons.length; j++) { | |
tabButtons[j].onclick = toggleTabButton; | |
// Show by default? | |
if (j === 0) { | |
toggleTabButton({target: tabButtons[j]}); | |
} | |
} | |
} | |
// Make nav items clickable to collapse/expand their content. | |
var navItems = document.querySelectorAll('nav .resource-group .heading'); | |
for (i = 0; i < navItems.length; i++) { | |
navItems[i].onclick = toggleCollapseNav; | |
// Show all by default | |
toggleCollapseNav({target: navItems[i].children[0]}); | |
} | |
} | |
// Initial call to set up buttons | |
init(); | |
window.onload = function () { | |
autoCollapse(); | |
// Remove the `preload` class to enable animations | |
document.querySelector('body').className = ''; | |
}; | |
</script></body></html> |