unsandbox.com
Anonymous remote code, compile, & execution API for humans & machine learning agents.
Docs 📚 View Pricing →Execute code immediately and wait for results. Best for quick scripts and interactive use.
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
language |
string | ✓ | Programming language |
code |
string | ✓ | Source code to execute |
env |
object | Environment variables (key-value pairs) | |
network_mode |
string | "zerotrust" or "semitrusted" | |
ttl |
integer | Timeout 1-900s (default: 60) | |
return_artifact |
boolean | Return compiled binary | |
return_wasm_artifact |
boolean | Return WebAssembly binary |
Example (COBOL)
IDENTIFICATION DIVISION.
PROGRAM-ID. EXECUTE-CODE.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 CMD-STRING PIC X(500).
01 EXIT-STATUS PIC 9(4) COMP.
PROCEDURE DIVISION.
STRING
"curl -X POST https://api.unsandbox.com/execute "
"-H 'Content-Type: application/json' "
"-H 'Authorization: Bearer YOUR_API_KEY' "
"-d '{""language"": ""cobol"", "
"""code"": ""IDENTIFICATION DIVISION.\n"
"PROGRAM-ID. HELLO.\nPROCEDURE DIVISION.\n"
"DISPLAY \\""Hello from unsandbox!\\"".\n"
"STOP RUN.""}'"
DELIMITED BY SIZE
INTO CMD-STRING
END-STRING.
CALL "SYSTEM" USING CMD-STRING
RETURNING EXIT-STATUS.
IF EXIT-STATUS NOT = 0
DISPLAY "Error: HTTP request failed"
END-IF.
STOP RUN.
Response (Success)
{
"success": true,
"stdout": "Hello from unsandbox!\n",
"stderr": "",
"error": null,
"language": "python",
"exit_code": 0
}
Response (Error)
{
"success": false,
"error": "Syntax error in code",
"stderr": "SyntaxError: invalid syntax\n"
}
Submit code for execution and receive a job ID to poll for results. Best for long-running scripts or when you need to decouple submission from execution.
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
language |
string | ✓ | Programming language |
code |
string | ✓ | Source code to execute |
env |
object | Environment variables (key-value pairs) | |
network_mode |
string | "zerotrust" or "semitrusted" | |
ttl |
integer | Timeout 1-900s (default: 60) | |
return_artifact |
boolean | Return compiled binary | |
return_wasm_artifact |
boolean | Return WebAssembly binary |
Example (COBOL)
IDENTIFICATION DIVISION.
PROGRAM-ID. EXECUTE-ASYNC.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 CMD-STRING PIC X(700).
01 EXIT-STATUS PIC 9(4) COMP.
01 POLL-COUNTER PIC 99 VALUE 1.
PROCEDURE DIVISION.
STRING
"curl -s -X POST https://api.unsandbox.com/execute/async "
"-H 'Content-Type: application/json' "
"-H 'Authorization: Bearer YOUR_API_KEY' "
"-d '{""language"": ""cobol"", "
"""code"": ""IDENTIFICATION DIVISION.\n"
"PROGRAM-ID. COMPUTE.\nPROCEDURE DIVISION.\n"
"DISPLAY \\""Computing...\\"".\nSTOP RUN."", "
"""ttl"": 300}' > /tmp/cobol_job.json"
DELIMITED BY SIZE
INTO CMD-STRING
END-STRING.
CALL "SYSTEM" USING CMD-STRING
RETURNING EXIT-STATUS.
DISPLAY "Job submitted. Polling for results...".
PERFORM UNTIL POLL-COUNTER > 5
MOVE "curl -s https://api.unsandbox.com/jobs/$(grep -o "
& "'""job_id"":""[^""]*""' /tmp/cobol_job.json | "
& "cut -d'""' -f4) "
& "-H 'Authorization: Bearer YOUR_API_KEY'"
TO CMD-STRING
CALL "SYSTEM" USING CMD-STRING
RETURNING EXIT-STATUS
CALL "C$SLEEP" USING 2
ADD 1 TO POLL-COUNTER
END-PERFORM.
MOVE "rm -f /tmp/cobol_job.json" TO CMD-STRING.
CALL "SYSTEM" USING CMD-STRING.
STOP RUN.
Initial Response
{
"job_id": "job_1234567890_abc",
"status": "pending"
}
Check the status and results of an asynchronous job. Poll this endpoint after submitting a job via /execute/async or /run/async.
URL Parameters
| Parameter | Type | Description |
|---|---|---|
id |
string | Job ID returned from async endpoint |
Example (COBOL)
IDENTIFICATION DIVISION.
PROGRAM-ID. GET-JOB.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 CMD-STRING PIC X(300).
01 EXIT-STATUS PIC 9(4) COMP.
01 JOB-ID PIC X(50) VALUE "job_1234567890_abc".
PROCEDURE DIVISION.
STRING
"curl https://api.unsandbox.com/jobs/"
FUNCTION TRIM(JOB-ID)
" -H 'Authorization: Bearer YOUR_API_KEY'"
DELIMITED BY SIZE
INTO CMD-STRING
END-STRING.
CALL "SYSTEM" USING CMD-STRING
RETURNING EXIT-STATUS.
IF EXIT-STATUS NOT = 0
DISPLAY "Error: Failed to get job status"
END-IF.
STOP RUN.
Response (Completed)
{
"job_id": "job_1234567890_abc",
"status": "completed",
"result": {
"success": true,
"stdout": "Hello from unsandbox!\n",
"stderr": "",
"error": null,
"language": "python",
"exit_code": 0
}
}
Possible Status Values
pending- Job queued, waiting to executerunning- Job currently executingcompleted- Job finished (check result field)timeout- Job exceeded TTL limitcancelled- Job was cancelled via DELETE
List all active (pending or running) jobs for your API key. Useful for monitoring multiple async executions.
Example (COBOL)
IDENTIFICATION DIVISION.
PROGRAM-ID. LIST-JOBS.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 CMD-STRING PIC X(300).
01 EXIT-STATUS PIC 9(4) COMP.
PROCEDURE DIVISION.
MOVE "curl https://api.unsandbox.com/jobs "
& "-H 'Authorization: Bearer YOUR_API_KEY'"
TO CMD-STRING.
CALL "SYSTEM" USING CMD-STRING
RETURNING EXIT-STATUS.
IF EXIT-STATUS NOT = 0
DISPLAY "Error: Failed to list jobs"
END-IF.
STOP RUN.
Response
{
"jobs": [
{
"job_id": "job_1234567890_abc",
"status": "running",
"language": "python",
"submitted_at": "2024-01-15T10:30:00Z"
},
{
"job_id": "job_0987654321_xyz",
"status": "pending",
"language": "go",
"submitted_at": "2024-01-15T10:29:45Z"
}
]
}
Cancel a pending or running job. If the job is already executing, it will be terminated and partial output returned.
URL Parameters
| Parameter | Type | Description |
|---|---|---|
id |
string | Job ID to cancel |
Example (COBOL)
IDENTIFICATION DIVISION.
PROGRAM-ID. DELETE-JOB.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 CMD-STRING PIC X(300).
01 EXIT-STATUS PIC 9(4) COMP.
01 JOB-ID PIC X(50) VALUE "job_1234567890_abc".
PROCEDURE DIVISION.
STRING
"curl -X DELETE https://api.unsandbox.com/jobs/"
FUNCTION TRIM(JOB-ID)
" -H 'Authorization: Bearer YOUR_API_KEY'"
DELIMITED BY SIZE
INTO CMD-STRING
END-STRING.
CALL "SYSTEM" USING CMD-STRING
RETURNING EXIT-STATUS.
IF EXIT-STATUS NOT = 0
DISPLAY "Error: Failed to delete job"
END-IF.
STOP RUN.
Response
{
"message": "Job cancelled",
"job_id": "job_1234567890_abc",
"result": {
"success": false,
"stdout": "Partial output before cancel...",
"stderr": "",
"error": "Job cancelled by user",
"exit_code": -1
}
}
Execute code with automatic language detection via shebang. Send raw code as the request body with Content-Type: text/plain.
Request
- Content-Type:
text/plain - Body: Raw code with shebang (e.g.,
#!/usr/bin/env python3)
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
env |
string | URL-encoded JSON object with environment variables | |
network_mode |
string | "zerotrust" or "semitrusted" | |
ttl |
integer | Timeout 1-900s (default: 60) | |
return_artifact |
boolean | Return compiled binary | |
return_wasm_artifact |
boolean | Return WebAssembly binary |
Example (COBOL)
IDENTIFICATION DIVISION.
PROGRAM-ID. RUN-CODE.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 CMD-STRING PIC X(500).
01 EXIT-STATUS PIC 9(4) COMP.
PROCEDURE DIVISION.
STRING
"curl -X POST https://api.unsandbox.com/run "
"-H 'Content-Type: text/plain' "
"-H 'Authorization: Bearer YOUR_API_KEY' "
"--data-binary 'IDENTIFICATION DIVISION."
FUNCTION CHAR(10)
"PROGRAM-ID. HELLO."
FUNCTION CHAR(10)
"PROCEDURE DIVISION."
FUNCTION CHAR(10)
"DISPLAY ""Language auto-detected!""."
FUNCTION CHAR(10)
"STOP RUN.'"
DELIMITED BY SIZE
INTO CMD-STRING
END-STRING.
CALL "SYSTEM" USING CMD-STRING
RETURNING EXIT-STATUS.
IF EXIT-STATUS NOT = 0
DISPLAY "Error: HTTP request failed"
END-IF.
STOP RUN.
Response
{
"success": true,
"stdout": "Language auto-detected!\n",
"stderr": "",
"error": null,
"detected_language": "python",
"exit_code": 0
}
Submit code with automatic language detection and receive a job ID. Combines the convenience of /run with the flexibility of async execution.
Request
- Content-Type:
text/plain - Body: Raw code with shebang (e.g.,
#!/usr/bin/env ruby)
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
env |
string | URL-encoded JSON object with environment variables | |
network_mode |
string | "zerotrust" or "semitrusted" | |
ttl |
integer | Timeout 1-900s (default: 60) | |
return_artifact |
boolean | Return compiled binary | |
return_wasm_artifact |
boolean | Return WebAssembly binary |
Example (COBOL)
IDENTIFICATION DIVISION.
PROGRAM-ID. RUN-ASYNC.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 CMD-STRING PIC X(700).
01 EXIT-STATUS PIC 9(4) COMP.
01 POLL-COUNTER PIC 99 VALUE 1.
PROCEDURE DIVISION.
STRING
"curl -s -X POST https://api.unsandbox.com/run/async "
"-H 'Content-Type: text/plain' "
"-H 'Authorization: Bearer YOUR_API_KEY' "
"--data-binary 'IDENTIFICATION DIVISION."
FUNCTION CHAR(10)
"PROGRAM-ID. ASYNC."
FUNCTION CHAR(10)
"PROCEDURE DIVISION."
FUNCTION CHAR(10)
"DISPLAY ""Running async!""."
FUNCTION CHAR(10)
"STOP RUN.' > /tmp/cobol_run_job.json"
DELIMITED BY SIZE
INTO CMD-STRING
END-STRING.
CALL "SYSTEM" USING CMD-STRING
RETURNING EXIT-STATUS.
DISPLAY "Job submitted. Polling for results...".
PERFORM UNTIL POLL-COUNTER > 5
MOVE "curl -s https://api.unsandbox.com/jobs/$(grep -o "
& "'""job_id"":""[^""]*""' /tmp/cobol_run_job.json | "
& "cut -d'""' -f4) "
& "-H 'Authorization: Bearer YOUR_API_KEY'"
TO CMD-STRING
CALL "SYSTEM" USING CMD-STRING
RETURNING EXIT-STATUS
CALL "C$SLEEP" USING 2
ADD 1 TO POLL-COUNTER
END-PERFORM.
MOVE "rm -f /tmp/cobol_run_job.json" TO CMD-STRING.
CALL "SYSTEM" USING CMD-STRING.
STOP RUN.
Initial Response
{
"job_id": "job_1234567890_abc",
"status": "pending"
}
Job Result (via GET /jobs/{id})
{
"job_id": "job_1234567890_abc",
"status": "completed",
"result": {
"success": true,
"stdout": "Running async with auto-detect!\n",
"stderr": "",
"error": null,
"detected_language": "ruby",
"exit_code": 0
}
}