Agent Diff Sandboxes API
The Sandboxes API from Agent Diff — 2 operation(s) for sandboxes.
The Sandboxes API from Agent Diff — 2 operation(s) for sandboxes.
openapi: 3.1.0
info:
title: Agent Diff Sandbox Diffs Sandboxes API
description: The Agent Diff Sandbox API creates isolated, ephemeral replicas of third-party APIs such as Slack and Linear. Agents interact with these sandboxes to produce deterministic state-change diffs without side effects, rate limits, or real API calls.
version: '1.0'
contact:
name: Agent Diff
url: https://www.agentdiff.dev/
servers:
- url: https://api.agentdiff.dev/v1
description: Agent Diff API
security:
- bearerAuth: []
tags:
- name: Sandboxes
paths:
/sandboxes:
post:
operationId: create-sandbox
summary: Agent Diff Create Sandbox
description: Create an isolated sandbox replica of a third-party API (e.g., Slack, Linear) for agent testing.
tags:
- Sandboxes
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SandboxCreateRequest'
examples:
CreateSandboxRequest:
summary: Create a Slack sandbox
value:
api: slack
scenario: customer-support-workflow
seed_data:
channels:
- name: support
members:
- U001
- U002
users:
- id: U001
name: Alice
- id: U002
name: Bob
ttl: 3600
x-microcks-default: true
responses:
'201':
description: Sandbox created
content:
application/json:
schema:
$ref: '#/components/schemas/Sandbox'
examples:
CreateSandboxResponse:
summary: Sandbox creation response
value:
id: sbox_abc123
api: slack
scenario: customer-support-workflow
status: ready
base_url: https://sbox_abc123.sandbox.agentdiff.dev
created_at: '2026-04-19T10:00:00Z'
expires_at: '2026-04-19T11:00:00Z'
x-microcks-default: true
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
examples:
create-sandbox400Example:
summary: Default create-sandbox 400 response
x-microcks-default: true
value:
error: example_value
message: example_value
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
get:
operationId: list-sandboxes
summary: Agent Diff List Sandboxes
description: List all active sandboxes for the account.
tags:
- Sandboxes
parameters:
- name: status
in: query
schema:
type: string
enum:
- ready
- active
- expired
description: Filter by sandbox status.
example: ready
- name: api
in: query
schema:
type: string
description: Filter by sandboxed API (e.g., slack, linear).
example: example_value
- name: limit
in: query
schema:
type: integer
default: 100
description: Maximum number of results.
example: 1
- name: offset
in: query
schema:
type: integer
default: 0
description: Pagination offset.
example: 1
responses:
'200':
description: List of sandboxes
content:
application/json:
schema:
$ref: '#/components/schemas/SandboxList'
examples:
ListSandboxesResponse:
summary: List of sandboxes
value:
sandboxes:
- id: sbox_abc123
api: slack
status: ready
created_at: '2026-04-19T10:00:00Z'
total: 1
x-microcks-default: true
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/sandboxes/{sandboxId}:
get:
operationId: get-sandbox
summary: Agent Diff Get Sandbox
description: Retrieve details of a specific sandbox including its current status and configuration.
tags:
- Sandboxes
parameters:
- name: sandboxId
in: path
required: true
schema:
type: string
description: Sandbox identifier.
example: example_value
responses:
'200':
description: Sandbox details
content:
application/json:
schema:
$ref: '#/components/schemas/Sandbox'
examples:
GetSandboxResponse:
summary: Sandbox details
value:
id: sbox_abc123
api: slack
scenario: customer-support-workflow
status: active
base_url: https://sbox_abc123.sandbox.agentdiff.dev
created_at: '2026-04-19T10:00:00Z'
expires_at: '2026-04-19T11:00:00Z'
x-microcks-default: true
'404':
description: Sandbox not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
examples:
get-sandbox404Example:
summary: Default get-sandbox 404 response
x-microcks-default: true
value:
error: example_value
message: example_value
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
delete:
operationId: delete-sandbox
summary: Agent Diff Delete Sandbox
description: Terminate and delete a sandbox, freeing all associated resources.
tags:
- Sandboxes
parameters:
- name: sandboxId
in: path
required: true
schema:
type: string
description: Sandbox identifier.
example: example_value
responses:
'204':
description: Sandbox deleted
'404':
description: Sandbox not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
examples:
delete-sandbox404Example:
summary: Default delete-sandbox 404 response
x-microcks-default: true
value:
error: example_value
message: example_value
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
components:
schemas:
SandboxCreateRequest:
type: object
required:
- api
properties:
api:
type: string
description: The third-party API to sandbox (e.g., slack, linear, github).
example: example_value
scenario:
type: string
description: Named scenario for the sandbox seed data.
example: example_value
seed_data:
type: object
description: Initial state data to populate the sandbox.
example: {}
ttl:
type: integer
description: Time-to-live in seconds before the sandbox expires.
default: 3600
example: 1
Sandbox:
type: object
properties:
id:
type: string
description: Unique sandbox identifier.
example: '500123'
api:
type: string
description: The third-party API being sandboxed.
example: example_value
scenario:
type: string
description: Scenario name for this sandbox.
example: example_value
status:
type: string
enum:
- ready
- active
- expired
- deleted
description: Current sandbox status.
example: ready
base_url:
type: string
description: Base URL for interacting with the sandbox replica.
example: https://example.com
created_at:
type: string
format: date-time
description: When the sandbox was created.
example: '2025-03-15T14:30:00Z'
expires_at:
type: string
format: date-time
description: When the sandbox will expire.
example: '2025-03-15T14:30:00Z'
SandboxList:
type: object
properties:
sandboxes:
type: array
items:
$ref: '#/components/schemas/Sandbox'
example:
- example_value
total:
type: integer
description: Total number of matching sandboxes.
example: 1
Error:
type: object
properties:
error:
type: string
description: Error code.
example: example_value
message:
type: string
description: Human-readable error message.
example: example_value
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: Bearer token authentication for Agent Diff API.