Duvo Ai Sandboxes API

Create sandboxes and upload files for agent runs

Operations 4

POST /v2/sandboxes Create Sandbox #
POST /v2/sandboxes/{sandbox_id}/upload-urls Create Sandbox Upload URL #
GET /v2/sandboxes/{sandbox_id}/files List Sandbox Files #
POST /v2/sandboxes/{sandbox_id}/files Upload Sandbox File #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/duvo-ai-sandboxes-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

duvo-ai-sandboxes-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Duvo Public Agent Folders Sandboxes API
  description: Public API for programmatic access to Duvo. Authenticate with API keys created in the Duvo dashboard.
  version: 1.0.0
servers:
- url: https://api.duvo.ai
  description: Production server
tags:
- name: Sandboxes
  description: Create sandboxes and upload files for agent runs
paths:
  /v2/sandboxes:
    post:
      operationId: createSandbox
      tags:
      - Sandboxes
      description: Create a new sandbox for file uploads. The returned sandbox_id can be passed to POST /v2/teams/:team_id/runs to stage data for a run.
      security:
      - bearerAuth: []
      responses:
        '201':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  sandbox_id:
                    type: string
                    description: The newly created sandbox's identifier
                  expires_at:
                    type: string
                    description: ISO 8601 timestamp when the sandbox will expire
                required:
                - sandbox_id
                - expires_at
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
      summary: Create Sandbox
  /v2/sandboxes/{sandbox_id}/upload-urls:
    post:
      operationId: createSandboxUploadUrl
      tags:
      - Sandboxes
      description: Get a presigned URL for uploading a file into a sandbox. Use for files larger than 10MB; smaller files can be uploaded directly via POST /v2/sandboxes/:sandbox_id/files.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                path:
                  type: string
                  minLength: 1
                  description: Path where the file will be uploaded (e.g. /workspace/data.csv)
              required:
              - path
      parameters:
      - schema:
          type: string
          minLength: 1
        in: path
        name: sandbox_id
        required: true
        description: The sandbox's unique identifier
      security:
      - bearerAuth: []
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  upload_url:
                    type: string
                    format: uri
                    description: Presigned upload URL
                  path:
                    type: string
                    description: Path the file will be uploaded to
                  expires_in_seconds:
                    type: number
                    description: Seconds until the presigned URL expires
                required:
                - upload_url
                - path
                - expires_in_seconds
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
      summary: Create Sandbox Upload URL
  /v2/sandboxes/{sandbox_id}/files:
    get:
      operationId: listSandboxFiles
      tags:
      - Sandboxes
      description: List files in a sandbox directory.
      parameters:
      - schema:
          default: /workspace
          type: string
        in: query
        name: path
        required: false
        description: Directory to list files from (defaults to /workspace)
      - schema:
          type: string
          minLength: 1
        in: path
        name: sandbox_id
        required: true
        description: The sandbox's unique identifier
      security:
      - bearerAuth: []
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  files:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                          description: File or directory name (basename)
                        path:
                          type: string
                          description: Absolute path inside the sandbox
                        type:
                          type: string
                          enum:
                          - file
                          - dir
                          description: Whether this entry is a regular file or a directory
                        size_bytes:
                          type: number
                          description: Size of the file in bytes (0 for directories)
                      required:
                      - name
                      - path
                      - type
                      - size_bytes
                      additionalProperties: false
                    description: Entries in the requested directory
                required:
                - files
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
      summary: List Sandbox Files
    post:
      operationId: uploadSandboxFile
      tags:
      - Sandboxes
      description: Upload a file directly to the sandbox. Maximum file size is 10MB. For larger files, use POST /v2/sandboxes/:sandbox_id/upload-urls.
      parameters:
      - schema:
          type: string
          minLength: 1
        in: path
        name: sandbox_id
        required: true
        description: The sandbox's unique identifier
      security:
      - bearerAuth: []
      responses:
        '201':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  path:
                    type: string
                    description: Path the file was uploaded to
                  size_bytes:
                    type: number
                    description: Size of the uploaded file in bytes
                required:
                - path
                - size_bytes
                additionalProperties: false
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
        '413':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
      summary: Upload Sandbox File
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key authentication. Get your API key from the Duvo dashboard.