> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coreweave.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Purge sandboxes

> Terminate the active sandboxes matching a tag selector, or all of them, with an optional dry run.



## OpenAPI

````yaml /openapi/sandboxes/openapi.yaml post /v1/sandboxes:purge
openapi: 3.0.3
info:
  title: CoreWeave Sandboxes API
  version: 0.0.1
  description: >-
    The Sandboxes API lets you manage runners, templates, volumes, network
    configurations, organization settings, and the lifecycle of individual
    sandboxes on CoreWeave.
servers:
  - url: https://api.cwsandbox.com
    description: >-
      CoreWeave sandbox data plane. Hosts the sandbox lifecycle, volumes,
      snapshots, runner discovery, and organization settings.
  - url: https://api.coreweave.com
    description: >-
      CoreWeave control plane. Hosts managed runner and sandbox template
      administration.
security:
  - bearerAuth: []
tags:
  - name: NetworkConfigService
    description: >-
      Create, get, list, update, and delete desired network configurations.
      Updating a configuration bound to a running sandbox changes its network
      rules without a restart. Requires API enablement and a runner with live
      network update support.
  - name: SandboxService
    description: >-
      Endpoints for the sandbox lifecycle: create (directly, from a template, or
      from a Compose file), get, list, exec, read and write files, snapshot,
      connect, purge, and delete.
  - name: DiscoveryService
    description: >-
      Read-only endpoints for discovering the runners visible to the caller's
      organization, with view, capability, and service-visibility filters.
      Runner IDs are unique only within an organization.
  - name: SettingsService
    description: >-
      Organization-level sandbox settings: the object-storage Workload Identity
      Federation (WIF) configuration, the file-system snapshot bucket
      configuration, Compose build storage, and secret stores.
  - name: VolumeService
    description: >-
      CRUD operations for organization-registered volumes that sandboxes can
      mount, plus the validation call that confirms a volume's backing source is
      usable.
  - name: RunnerManagementService
    description: >-
      CRUD operations for managed runners and the runner policy each one
      carries. Policy is a field on the runner, mutated through
      `CreateManagedRunner` and `UpdateManagedRunner`.
  - name: SandboxTemplateService
    description: >-
      CRUD operations for organization-scoped sandbox templates, the partial
      specs that `CreateSandboxFromTemplate` merges with per-request overrides.
paths:
  /v1/sandboxes:purge:
    post:
      tags:
        - SandboxService
      summary: Purge sandboxes
      description: |-
        PurgeSandboxes terminates active sandboxes matching the selected scope
         (criteria-based bulk delete). It terminates the matched sandboxes by default;
         set dry_run=true to instead report how many sandboxes would be purged without
         terminating anything. The request must specify exactly one scope selector:
         tags for targeted purge, or purge_all=true for every in-scope sandbox. Scope
         follows DeleteSandbox: always within the caller's organization, restricted to
         the caller's own sandboxes unless the caller holds the sandbox_admin action,
         which purges across the organization. Only active sandboxes are ever in
         scope; terminal ones are skipped. Termination is best-effort — ids that fail
         to terminate are returned in failed_sandbox_ids. If the RPC itself returns an
         error after matching begins, some sandboxes may already have been terminated
         and no partial response body is returned; retry the same filter to converge.
      operationId: SandboxService_PurgeSandboxes
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/coreweave.sandbox.v1.PurgeSandboxesRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/coreweave.sandbox.v1.PurgeSandboxesResponse
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/google.rpc.Status'
      servers:
        - url: https://api.cwsandbox.com
          description: CoreWeave sandbox data plane.
components:
  schemas:
    coreweave.sandbox.v1.PurgeSandboxesRequest:
      type: object
      properties:
        tags:
          description: >-
            Scope selector: sandboxes matching all tags (AND). Must be non-empty
            unless
             purge_all is true.
          type: array
          items:
            type: string
        dryRun:
          description: >-
            Dry-run guard. false (default) terminates the matched sandboxes;
            true reports
             how many sandboxes would be purged and terminates nothing.
          type: boolean
        requestId:
          description: >-
            Idempotency key (AIP-155), reserved for future support. Non-empty
            values
             are currently rejected with UNIMPLEMENTED.
          type: string
        purgeAll:
          description: >-
            Scope selector: match every active in-scope sandbox. Mutually
            exclusive with
             tags, and required when tags is empty.
          type: boolean
    coreweave.sandbox.v1.PurgeSandboxesResponse:
      type: object
      properties:
        purgeCount:
          description: >-
            Number of sandboxes successfully purged, or, on a dry-run
            (dry_run=true), the
             number that would be purged.
          type: integer
          format: int32
        failedSandboxIds:
          description: >-
            Ids of sandboxes that matched but could not be terminated; retry to
            purge
             them. Empty on a dry-run (dry_run=true).
          type: array
          items:
            type: string
        retryableFailedSandboxIds:
          description: >-
            Subset of failed_sandbox_ids whose failure was retryable. These
            sandboxes
             were not purged by this request, but may converge on a later retry (for
             example placement or route reconciliation was still in flight).
          type: array
          items:
            type: string
    google.rpc.Status:
      description: >-
        The `Status` type defines a logical error model that is suitable for
        different programming environments, including REST APIs and RPC APIs. It
        is used by [gRPC](https://github.com/grpc). Each `Status` message
        contains three pieces of data: error code, error message, and error
        details. You can find out more about this error model and how to work
        with it in the [API Design
        Guide](https://cloud.google.com/apis/design/errors).
      type: object
      properties:
        code:
          description: >-
            The status code, which should be an enum value of
            [google.rpc.Code][google.rpc.Code].
          type: integer
          format: int32
        message:
          description: >-
            A developer-facing error message, which should be in English. Any
            user-facing error message should be localized and sent in the
            [google.rpc.Status.details][google.rpc.Status.details] field, or
            localized by the client.
          type: string
        details:
          description: >-
            A list of messages that carry the error details.  There is a common
            set of message types for APIs to use.
          type: array
          items:
            $ref: '#/components/schemas/google.protobuf.Any'
    google.protobuf.Any:
      description: >-
        Contains an arbitrary serialized message along with a @type that
        describes the type of the serialized message.
      type: object
      properties:
        '@type':
          description: The type of the serialized message.
          type: string
      additionalProperties: true
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: CoreWeave API access token sent as a bearer token.
      x-default: Bearer {API_ACCESS_TOKEN}

````