Skip to main content
Execute JavaScript code with Node.js 20 LTS and popular npm packages.

Basic Request

curl -X POST https://api.gravixlayer.com/v1/agents/sandboxes/{sandbox_id}/code/run \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "code": "const data = [1, 2, 3, 4, 5];\nconst sum = data.reduce((a, b) => a + b, 0);\nconsole.log(`Sum: ${sum}`);\nsum;",
    "language": "javascript"
  }'

Request Parameters

ParameterTypeRequiredDescription
codestringYesJavaScript code to execute
languagestringYesSet to “javascript”
timeoutintegerNoTimeout in seconds (default: 30)

Response

{
  "execution_id": "exec_def456",
  "results": {
    "stdout": [
      {
        "type": "stdout",
        "line": "Sum: 15",
        "timestamp": "2025-01-27T10:30:00Z"
      }
    ]
  },
  "error": null,
  "logs": {
    "stdout": ["Sum: 15"],
    "stderr": []
  }
}

Available Packages

  • Web Frameworks: Express, Fastify, Socket.io
  • Utilities: Lodash, Axios, Moment.js, UUID
  • Development: TypeScript, Jest, Mocha
  • Data Processing: CSV-parser, Cheerio

Example: Express Server

curl -X POST https://api.gravixlayer.com/v1/agents/sandboxes/{sandbox_id}/code/run \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "code": "const express = require(\"express\");\nconst app = express();\n\napp.get(\"/api/status\", (req, res) => {\n  res.json({ status: \"ok\", timestamp: new Date().toISOString() });\n});\n\nconst server = app.listen(3000, () => {\n  console.log(\"Server running on port 3000\");\n});\n\n// Stop server after demo\nsetTimeout(() => server.close(), 1000);",
    "language": "javascript"
  }'

Next Steps