{
  "opencollection": "1.0.0",
  "info": {
    "name": "LangSmith access_policies sandboxes API",
    "version": "0.1.0"
  },
  "items": [
    {
      "info": {
        "name": "sandboxes",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List sandbox claims",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "/v2/sandboxes/boxes",
            "params": [
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "Maximum number of results"
              },
              {
                "name": "offset",
                "value": "",
                "type": "query",
                "description": "Pagination offset"
              },
              {
                "name": "name_contains",
                "value": "",
                "type": "query",
                "description": "Filter by name substring"
              },
              {
                "name": "status",
                "value": "",
                "type": "query",
                "description": "Filter by status (provisioning, ready, failed, stopped)"
              },
              {
                "name": "sort_by",
                "value": "",
                "type": "query",
                "description": "Sort column (name, status, created_at)"
              },
              {
                "name": "sort_direction",
                "value": "",
                "type": "query",
                "description": "Sort direction (asc, desc)"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-API-Key",
              "value": "{{X-API-Key}}",
              "placement": "header"
            }
          },
          "docs": "List sandbox claims for the authenticated tenant, with optional filtering, sorting, and pagination."
        },
        {
          "info": {
            "name": "Create a sandbox claim",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "/v2/sandboxes/boxes",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "X-API-Key",
              "value": "{{X-API-Key}}",
              "placement": "header"
            }
          },
          "docs": "Create a new sandbox from a snapshot. The snapshot may be identified by `snapshot_id` (UUID) or by `snapshot_name` (tenant-scoped unique name); exactly one must be set."
        },
        {
          "info": {
            "name": "Batch delete sandbox claims",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "/v2/sandboxes/boxes/batch-delete",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "X-API-Key",
              "value": "{{X-API-Key}}",
              "placement": "header"
            }
          },
          "docs": "Delete multiple sandbox claims by name in a single request."
        },
        {
          "info": {
            "name": "Get a sandbox claim",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "/v2/sandboxes/boxes/:name",
            "params": [
              {
                "name": "name",
                "value": "",
                "type": "path",
                "description": "Sandbox claim display name"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-API-Key",
              "value": "{{X-API-Key}}",
              "placement": "header"
            }
          },
          "docs": "Retrieve a sandbox claim by name. Stale provisioning claims are auto-failed."
        },
        {
          "info": {
            "name": "Update a sandbox claim",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "/v2/sandboxes/boxes/:name",
            "params": [
              {
                "name": "name",
                "value": "",
                "type": "path",
                "description": "Current sandbox claim display name"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "X-API-Key",
              "value": "{{X-API-Key}}",
              "placement": "header"
            }
          },
          "docs": "Update a sandbox claim's display name. The name must be unique within the tenant."
        },
        {
          "info": {
            "name": "Delete a sandbox claim",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "/v2/sandboxes/boxes/:name",
            "params": [
              {
                "name": "name",
                "value": "",
                "type": "path",
                "description": "Sandbox claim display name"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-API-Key",
              "value": "{{X-API-Key}}",
              "placement": "header"
            }
          },
          "docs": "Delete a sandbox claim by name. Deletes the Firecracker pod/service and DB record."
        },
        {
          "info": {
            "name": "Generate a service access token",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "/v2/sandboxes/boxes/:name/service-url",
            "params": [
              {
                "name": "name",
                "value": "",
                "type": "path",
                "description": "Sandbox claim display name"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "X-API-Key",
              "value": "{{X-API-Key}}",
              "placement": "header"
            }
          },
          "docs": "Create a short-lived JWT for accessing an HTTP service running on a specific port inside a sandbox. Returns a browser_url (sets auth cookie via redirect), a service_url (for use with the X-Langsmith-Sandbox-Service-Token header), the raw token, and its expiry."
        },
        {
          "info": {
            "name": "Capture a snapshot from a sandbox",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "/v2/sandboxes/boxes/:name/snapshot",
            "params": [
              {
                "name": "name",
                "value": "",
                "type": "path",
                "description": "Sandbox claim display name"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "X-API-Key",
              "value": "{{X-API-Key}}",
              "placement": "header"
            }
          },
          "docs": "Create a snapshot by capturing the current state of a sandbox or promoting an existing checkpoint."
        },
        {
          "info": {
            "name": "Start a sandbox",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "/v2/sandboxes/boxes/:name/start",
            "params": [
              {
                "name": "name",
                "value": "",
                "type": "path",
                "description": "Sandbox claim display name"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-API-Key",
              "value": "{{X-API-Key}}",
              "placement": "header"
            }
          },
          "docs": "Start a stopped or failed sandbox. This endpoint is not idempotent."
        },
        {
          "info": {
            "name": "Get sandbox claim status",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "/v2/sandboxes/boxes/:name/status",
            "params": [
              {
                "name": "name",
                "value": "",
                "type": "path",
                "description": "Sandbox claim display name"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-API-Key",
              "value": "{{X-API-Key}}",
              "placement": "header"
            }
          },
          "docs": "Retrieve the lightweight status of a sandbox claim for polling."
        },
        {
          "info": {
            "name": "Stop a sandbox",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "/v2/sandboxes/boxes/:name/stop",
            "params": [
              {
                "name": "name",
                "value": "",
                "type": "path",
                "description": "Sandbox claim display name"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-API-Key",
              "value": "{{X-API-Key}}",
              "placement": "header"
            }
          },
          "docs": "Stop a ready sandbox. This endpoint is not idempotent; the filesystem is preserved for later restart."
        },
        {
          "info": {
            "name": "List snapshots",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "/v2/sandboxes/snapshots",
            "params": [
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "Maximum number of results"
              },
              {
                "name": "offset",
                "value": "",
                "type": "query",
                "description": "Pagination offset"
              },
              {
                "name": "name_contains",
                "value": "",
                "type": "query",
                "description": "Filter by name substring"
              },
              {
                "name": "status",
                "value": "",
                "type": "query",
                "description": "Filter by status (building, ready, failed, deleting)"
              },
              {
                "name": "sort_by",
                "value": "",
                "type": "query",
                "description": "Sort column (name, status, created_at)"
              },
              {
                "name": "sort_direction",
                "value": "",
                "type": "query",
                "description": "Sort direction (asc, desc)"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-API-Key",
              "value": "{{X-API-Key}}",
              "placement": "header"
            }
          },
          "docs": "List sandbox snapshots for the authenticated tenant, with optional filtering, sorting, and pagination."
        },
        {
          "info": {
            "name": "Create a snapshot",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "/v2/sandboxes/snapshots",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "X-API-Key",
              "value": "{{X-API-Key}}",
              "placement": "header"
            }
          },
          "docs": "Create a snapshot from a Docker image (async build)."
        },
        {
          "info": {
            "name": "Get a snapshot",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "/v2/sandboxes/snapshots/:snapshot_id",
            "params": [
              {
                "name": "snapshot_id",
                "value": "",
                "type": "path",
                "description": "Snapshot UUID"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-API-Key",
              "value": "{{X-API-Key}}",
              "placement": "header"
            }
          },
          "docs": "Get a sandbox snapshot by ID."
        },
        {
          "info": {
            "name": "Delete a snapshot",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "/v2/sandboxes/snapshots/:snapshot_id",
            "params": [
              {
                "name": "snapshot_id",
                "value": "",
                "type": "path",
                "description": "Snapshot UUID"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-API-Key",
              "value": "{{X-API-Key}}",
              "placement": "header"
            }
          },
          "docs": "Delete a snapshot by ID. The underlying storage is reclaimed asynchronously."
        },
        {
          "info": {
            "name": "Get sandbox resource usage",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "/v2/sandboxes/usage",
            "auth": {
              "type": "apikey",
              "key": "X-API-Key",
              "value": "{{X-API-Key}}",
              "placement": "header"
            }
          },
          "docs": "Get current sandbox resource usage and quota limits for the workspace"
        }
      ]
    }
  ],
  "bundled": true
}