unsandbox.com

Anonymous remote code, compile, & execution API for humans & machine learning agents.

Docs 📚 View Pricing →
unsandbox.
Select Language
Bash C C++ C# Clojure Common Lisp COBOL Crystal D Dart Deno Elixir Erlang Forth Fortran F# Go Groovy Haskell Idris2 Java JavaScript Julia Kotlin Lua Nim Objective-C OCaml Pascal Perl PHP Prolog Python R Raku Ruby Rust Scheme Tcl TypeScript V Zig
unsandbox.
POST https://api.unsandbox.com/execute

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 (Fortran)

program execute_code
    implicit none
    integer :: exit_status
    character(len=1000) :: command

    ! Build curl command
    command = 'curl -X POST https://api.unsandbox.com/execute ' // &
              '-H "Content-Type: application/json" ' // &
              '-H "Authorization: Bearer YOUR_API_KEY" ' // &
              '-d ''{"language": "fortran", "code": "program hello\n  print *, \"Hello from unsandbox!\"\nend program hello"}'''

    ! Execute the command
    call system(command, exit_status)

    if (exit_status /= 0) then
        print *, 'Error: HTTP request failed'
    end if
end program execute_code

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"
}
unsandbox.
POST https://api.unsandbox.com/execute/async

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 (Fortran)

program execute_async
    implicit none
    integer :: exit_status, i
    character(len=1000) :: command
    character(len=100) :: job_id_file
    logical :: completed

    ! Submit async job
    command = 'curl -s -X POST https://api.unsandbox.com/execute/async ' // &
              '-H "Content-Type: application/json" ' // &
              '-H "Authorization: Bearer YOUR_API_KEY" ' // &
              '-d ''{"language":"fortran","code":"program c\n print *,1\nend","ttl":300}'' ' // &
              '> /tmp/fortran_job.json'
    call system(command, exit_status)

    print *, 'Job submitted. Polling for results...'

    ! Poll for completion
    completed = .false.
    do i = 1, 60
        command = 'curl -s https://api.unsandbox.com/jobs/' // &
                  '$(grep -o ''"job_id":"[^"]*"'' /tmp/fortran_job.json | cut -d''"'' -f4) ' // &
                  '-H "Authorization: Bearer YOUR_API_KEY"'
        call system(command, exit_status)

        ! Wait before next poll
        call sleep(2)

        ! In production, check status and break when completed
        if (i > 5) exit
    end do

    ! Clean up
    call system('rm -f /tmp/fortran_job.json', exit_status)
end program execute_async

Initial Response

{
  "job_id": "job_1234567890_abc",
  "status": "pending"
}
unsandbox.
GET https://api.unsandbox.com/jobs/{id}

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 (Fortran)

program get_job
    implicit none
    integer :: exit_status
    character(len=500) :: command
    character(len=50) :: job_id

    ! Set your job ID
    job_id = 'job_1234567890_abc'

    ! Build curl command
    command = 'curl https://api.unsandbox.com/jobs/' // trim(job_id) // ' ' // &
              '-H "Authorization: Bearer YOUR_API_KEY"'

    ! Execute the command
    call system(command, exit_status)

    if (exit_status /= 0) then
        print *, 'Error: Failed to get job status'
    end if
end program get_job

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 execute
  • running - Job currently executing
  • completed - Job finished (check result field)
  • timeout - Job exceeded TTL limit
  • cancelled - Job was cancelled via DELETE
unsandbox.
GET https://api.unsandbox.com/jobs

List all active (pending or running) jobs for your API key. Useful for monitoring multiple async executions.

Example (Fortran)

program list_jobs
    implicit none
    integer :: exit_status
    character(len=500) :: command

    ! Build curl command
    command = 'curl https://api.unsandbox.com/jobs ' // &
              '-H "Authorization: Bearer YOUR_API_KEY"'

    ! Execute the command
    call system(command, exit_status)

    if (exit_status /= 0) then
        print *, 'Error: Failed to list jobs'
    end if
end program list_jobs

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"
    }
  ]
}
unsandbox.
DELETE https://api.unsandbox.com/jobs/{id}

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 (Fortran)

program delete_job
    implicit none
    integer :: exit_status
    character(len=500) :: command
    character(len=50) :: job_id

    ! Set your job ID
    job_id = 'job_1234567890_abc'

    ! Build curl command
    command = 'curl -X DELETE https://api.unsandbox.com/jobs/' // trim(job_id) // ' ' // &
              '-H "Authorization: Bearer YOUR_API_KEY"'

    ! Execute the command
    call system(command, exit_status)

    if (exit_status /= 0) then
        print *, 'Error: Failed to delete job'
    end if
end program delete_job

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
  }
}
unsandbox.
POST https://api.unsandbox.com/run

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 (Fortran)

program run_code
    implicit none
    integer :: exit_status
    character(len=1000) :: command

    ! Build curl command with auto-detect
    command = 'curl -X POST https://api.unsandbox.com/run ' // &
              '-H "Content-Type: text/plain" ' // &
              '-H "Authorization: Bearer YOUR_API_KEY" ' // &
              '--data-binary ''program h' // char(10) // &
              '  print *, "Auto!"' // char(10) // 'end'''

    ! Execute the command
    call system(command, exit_status)

    if (exit_status /= 0) then
        print *, 'Error: HTTP request failed'
    end if
end program run_code

Response

{
  "success": true,
  "stdout": "Language auto-detected!\n",
  "stderr": "",
  "error": null,
  "detected_language": "python",
  "exit_code": 0
}
unsandbox.
POST https://api.unsandbox.com/run/async

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 (Fortran)

program run_async
    implicit none
    integer :: exit_status, i
    character(len=1000) :: command

    ! Submit async job with auto-detect
    command = 'curl -s -X POST https://api.unsandbox.com/run/async ' // &
              '-H "Content-Type: text/plain" ' // &
              '-H "Authorization: Bearer YOUR_API_KEY" ' // &
              '--data-binary ''program a' // char(10) // &
              '  print *, "Async!"' // char(10) // 'end'' ' // &
              '> /tmp/fortran_run_job.json'
    call system(command, exit_status)

    print *, 'Job submitted. Polling for results...'

    ! Poll for completion
    do i = 1, 60
        command = 'curl -s https://api.unsandbox.com/jobs/' // &
                  '$(grep -o ''"job_id":"[^"]*"'' /tmp/fortran_run_job.json | cut -d''"'' -f4) ' // &
                  '-H "Authorization: Bearer YOUR_API_KEY"'
        call system(command, exit_status)

        call sleep(2)
        if (i > 5) exit
    end do

    call system('rm -f /tmp/fortran_run_job.json', exit_status)
end program run_async

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
  }
}