Daytona · Arazzo Workflow

Daytona Fork a Sandbox

Version 1.0.0

Fork an existing sandbox into a new independent copy and wait until the fork is running.

1 workflow 1 source API 1 provider
View Spec View on GitHub Artificial IntelligenceAgentsCloudCode ExecutionComputer UseDeveloper ToolsInfrastructureOpen-SourceSandboxSecure ExecutionArazzoWorkflows

Provider

daytona-io

Workflows

fork-sandbox
Fork a sandbox into an independent copy and wait for it to run.
Forks a source sandbox, polls the resulting fork until it reaches the started state, then returns the fork details.
3 steps inputs: apiToken, name, sandboxIdOrName outputs: forkId, state
1
forkSandbox
Fork the source sandbox into a new independent copy.
2
pollFork
Poll the fork until it reaches started, looping while it is still forking or starting and ending if it errors.
3
getFork
Read the details of the running forked sandbox.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Daytona Fork a Sandbox
  summary: Fork an existing sandbox into a new independent copy and wait until the fork is running.
  description: >-
    Forking gives every developer or agent an independent copy of a known-good
    environment. This workflow forks an existing sandbox, receives the new fork's
    identity, then polls the fork until it reaches the started state, looping
    while it is still forking or starting and ending if it errors, before reading
    the running fork details. Every step spells out its request inline so the
    flow can be read and executed without opening the underlying OpenAPI
    description.
  version: 1.0.0
sourceDescriptions:
- name: sandboxApi
  url: ../openapi/daytona-io-sandbox-api-openapi.yml
  type: openapi
workflows:
- workflowId: fork-sandbox
  summary: Fork a sandbox into an independent copy and wait for it to run.
  description: >-
    Forks a source sandbox, polls the resulting fork until it reaches the
    started state, then returns the fork details.
  inputs:
    type: object
    required:
    - apiToken
    - sandboxIdOrName
    properties:
      apiToken:
        type: string
        description: Daytona API key used as a bearer token.
      sandboxIdOrName:
        type: string
        description: The ID or name of the source sandbox to fork.
      name:
        type: string
        description: Optional name for the forked sandbox; a unique name is generated when omitted.
  steps:
  - stepId: forkSandbox
    description: Fork the source sandbox into a new independent copy.
    operationId: forkSandbox
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.apiToken"
    - name: sandboxIdOrName
      in: path
      value: $inputs.sandboxIdOrName
    requestBody:
      contentType: application/json
      payload:
        name: $inputs.name
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      forkId: $response.body#/id
      state: $response.body#/state
  - stepId: pollFork
    description: >-
      Poll the fork until it reaches started, looping while it is still forking
      or starting and ending if it errors.
    operationId: getSandbox
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.apiToken"
    - name: sandboxIdOrName
      in: path
      value: $steps.forkSandbox.outputs.forkId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      state: $response.body#/state
    onSuccess:
    - name: running
      type: goto
      stepId: getFork
      criteria:
      - context: $response.body
        condition: $.state == "started"
        type: jsonpath
    - name: failed
      type: end
      criteria:
      - context: $response.body
        condition: $.state == "error"
        type: jsonpath
    - name: stillForking
      type: goto
      stepId: pollFork
      criteria:
      - context: $response.body
        condition: $.state != "started" && $.state != "error"
        type: jsonpath
  - stepId: getFork
    description: Read the details of the running forked sandbox.
    operationId: getSandbox
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.apiToken"
    - name: sandboxIdOrName
      in: path
      value: $steps.forkSandbox.outputs.forkId
    - name: verbose
      in: query
      value: true
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      forkId: $response.body#/id
      state: $response.body#/state
  outputs:
    forkId: $steps.forkSandbox.outputs.forkId
    state: $steps.getFork.outputs.state

Work with this as data

Every workflow 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 arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • 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 workflow
curl "https://apis.io/api/v1/arazzo/daytona-io-fork-sandbox-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?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.