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

# Create Cloud Box Snapshot

> Saves a running Cloud Box as a Snapshot and returns it while creating, usually for a few seconds. The Snapshot outlives the Cloud Box.



## OpenAPI

````yaml /openapi/simulation.yaml post /v1/cloudbox-snapshots
openapi: 3.1.0
info:
  description: >-
    Start API Boxes, Web Boxes, MCP Boxes and Cloud Boxes from Snapshots.
    Authenticate every request with an API key sent as a Bearer token.
  title: Continuous API
  version: v1
servers:
  - description: Continuous production API.
    url: https://api.continuouslabs.ai
security: []
tags:
  - description: >-
      Start API Boxes from API Box Snapshots. Each API Box serves its Snapshot's
      API at its own endpoint, with its own state, in real time. Stop, start and
      delete them.
    name: apibox
    x-group: API Boxes
  - description: >-
      Build API Box Snapshots from an OpenAPI, WSDL or GraphQL document, or use
      the catalog's. API Boxes start from a ready Snapshot.
    name: apibox-snapshots
    x-group: API Box Snapshots
  - description: >-
      Start Web Boxes from Web Box Snapshots. Each Web Box serves its Snapshot's
      web app at a host of its own, with its own state, in real time. Stop,
      start and delete them.
    name: webbox
    x-group: Web Boxes
  - description: >-
      Build Web Box Snapshots from a vendor's live web app, or use the
      catalog's. Web Boxes start from a ready Snapshot.
    name: webbox-snapshots
    x-group: Web Box Snapshots
  - description: >-
      Start MCP Boxes from MCP Box Snapshots. Each MCP Box serves its Snapshot's
      tools over MCP in front of an API Box. Stop, start and delete them.
    name: mcpbox
    x-group: MCP Boxes
  - description: >-
      List, rename and delete the MCP Box Snapshots that Continuous publishes
      into your workspace. Each holds an MCP server's tools, built against an
      API Box Snapshot.
    name: mcpbox-snapshots
    x-group: MCP Box Snapshots
  - description: >-
      Create emulated cloud accounts from Cloud Box Snapshots, start and stop
      them, and manage their Keys and connections.
    name: cloudbox
    x-group: Cloud Boxes
  - description: >-
      Save a Cloud Box's state as a Snapshot that new Cloud Boxes start from,
      and inspect, rename or delete Snapshots.
    name: cloudbox-snapshots
    x-group: Cloud Box Snapshots
  - description: >-
      Deprecated. Use API Box for APIs and Web Box for web apps. Build
      Simulators from OpenAPI, WSDL or GraphQL documents, check or cancel a
      build, clone Simulators into other workspaces, and rename and delete
      Simulators.
    name: simulators
    x-group: Simulators
  - description: >-
      Deprecated. Use API Box for APIs and Web Box for web apps. Create
      Simulations from ready Simulators or Snapshots, then rename, stop, start,
      and delete them.
    name: simulations
    x-group: Simulations
  - description: >-
      Deprecated. Use API Box for APIs and Web Box for web apps. Save a running
      Simulation's state as a Snapshot, create Simulations from it, and rename
      and delete it.
    name: simulation-snapshots
    x-group: Simulation Snapshots
  - description: >-
      Store connections to real systems: a base URL, the header that carries the
      credential, and its value. The API never returns a value.
    name: credentials
    x-group: Credentials
paths:
  /v1/cloudbox-snapshots:
    post:
      tags:
        - cloudbox-snapshots
      summary: Create Cloud Box Snapshot
      description: >-
        Saves a running Cloud Box as a Snapshot and returns it while creating,
        usually for a few seconds. The Snapshot outlives the Cloud Box.
      operationId: create-cloudbox-snapshot
      parameters:
        - description: >-
            Optional key for retrying this create safely. A retry with the same
            key and request returns the original result with its status; the
            same key with a different request returns 409 idempotency_conflict.
            Without a key, each request creates a new resource.
          in: header
          name: Idempotency-Key
          schema:
            maxLength: 256
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCloudBoxSnapshotRequest'
        required: true
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudBoxSnapshot'
          description: Accepted
        '400':
          content:
            application/problem+json:
              examples:
                bad_request_body:
                  $ref: '#/components/examples/bad_request_body'
              schema:
                $ref: '#/components/schemas/Error'
          description: Bad Request
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          content:
            application/problem+json:
              examples:
                cloudbox_not_found:
                  $ref: '#/components/examples/cloudbox_not_found'
              schema:
                $ref: '#/components/schemas/Error'
          description: Not Found
        '408':
          $ref: '#/components/responses/RequestTimeout'
        '409':
          content:
            application/problem+json:
              examples:
                cloudbox_snapshot_creating:
                  $ref: '#/components/examples/cloudbox_snapshot_creating'
              schema:
                $ref: '#/components/schemas/Error'
          description: Conflict
        '413':
          $ref: '#/components/responses/PayloadTooLarge'
        '415':
          $ref: '#/components/responses/UnsupportedMediaType'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          content:
            application/problem+json:
              examples:
                auth_provider_unavailable:
                  $ref: '#/components/examples/auth_provider_unavailable'
                internal_unavailable:
                  $ref: '#/components/examples/internal_unavailable'
              schema:
                $ref: '#/components/schemas/Error'
          description: Service Unavailable
      security:
        - apiKeyAuth: []
components:
  schemas:
    CreateCloudBoxSnapshotRequest:
      additionalProperties: false
      examples:
        - cloudbox_id: box_01J8Z5X4K70000000000000008
          name: after-seed
      properties:
        cloudbox_id:
          description: ID of the running Cloud Box to save.
          pattern: ^box_[0-9A-HJKMNP-TV-Z]{26}$
          type: string
        name:
          description: Snapshot name.
          maxLength: 128
          minLength: 1
          type: string
      required:
        - cloudbox_id
        - name
      type: object
    CloudBoxSnapshot:
      additionalProperties: false
      properties:
        aliases:
          additionalProperties:
            type: string
          description: >-
            Short names for names in routes. Cloud Boxes started from the
            Snapshot resolve them.
          type: object
        cloudbox_id:
          description: >-
            ID of the Cloud Box a saved Snapshot captured, or null for the
            catalog and once that Cloud Box is deleted.
          pattern: ^box_[0-9A-HJKMNP-TV-Z]{26}$
          type:
            - string
            - 'null'
        created_at:
          description: Snapshot creation time.
          format: date-time
          type: string
        digest:
          description: Digest of the catalog image under the Snapshot.
          pattern: ^sha256:[0-9a-f]{64}$
          type: string
        id:
          description: Snapshot ID.
          pattern: ^bx[st]_[0-9A-HJKMNP-TV-Z]{26}$
          type: string
        name:
          description: Snapshot name, for example aws for the catalog's empty account.
          maxLength: 128
          type: string
        resources_recorded_at:
          description: >-
            When the resources inside the Cloud Box were recorded on the
            Snapshot, or null for the catalog and when they were not recorded.
          format: date-time
          type:
            - string
            - 'null'
        routes:
          description: >-
            Names inside the Cloud Box when the Snapshot was saved; empty for
            the catalog and for Snapshots saved before names were recorded.
          items:
            $ref: '#/components/schemas/CloudBoxSnapshotRoute'
          type: array
        source:
          description: >-
            catalog for a Snapshot Continuous publishes, box for one saved from
            a Cloud Box.
          enum:
            - catalog
            - box
          type: string
        status:
          description: >-
            creating while a save runs. A Cloud Box can start from a ready
            Snapshot. unavailable is a catalog Snapshot a newer revision
            replaced.
          enum:
            - creating
            - ready
            - failed
            - unavailable
          type: string
        type:
          description: >-
            Platform the Snapshot emulates. Cloud Boxes and Keys take their
            Snapshot's type.
          enum:
            - aws
          type: string
          x-speakeasy-unknown-values: allow
      required:
        - id
        - name
        - type
        - source
        - status
        - cloudbox_id
        - digest
        - routes
        - aliases
        - resources_recorded_at
        - created_at
      type: object
    Error:
      additionalProperties: false
      properties:
        code:
          description: Stable machine-readable error code.
          minLength: 1
          type: string
        detail:
          description: Safe human-readable error detail.
          minLength: 1
          type: string
        validation:
          $ref: '#/components/schemas/SpecificationValidation'
          description: >-
            Safe specification diagnostics for a rejected build request, when
            available.
      required:
        - validation
        - code
        - detail
      type: object
    CloudBoxSnapshotRoute:
      additionalProperties: false
      properties:
        arn:
          description: ARN of the resource the name resolves to.
          type: string
        client_port:
          description: Port clients inside the Cloud Box call the name on.
          format: int64
          maximum: 65535
          minimum: 1
          type: integer
        name:
          description: Name inside the Cloud Box.
          type: string
        resource_type:
          description: Type of the resource the name resolves to, for example rds.
          type: string
      required:
        - name
        - client_port
        - resource_type
        - arn
      type: object
    SpecificationValidation:
      additionalProperties: false
      properties:
        issues:
          description: Specification validation problems. At most 20 are returned.
          items:
            $ref: '#/components/schemas/SpecificationIssue'
          maxItems: 20
          type: array
      required:
        - issues
      type:
        - object
        - 'null'
    SpecificationIssue:
      additionalProperties: false
      properties:
        code:
          description: Stable validation rule code.
          type: string
        kind:
          description: >-
            Whether the input is invalid, unsupported, incomplete, exceeds a
            build limit, or has no specific diagnosis.
          enum:
            - invalid
            - unsupported
            - incomplete
            - limit
            - unknown
          type: string
        location:
          description: Readable endpoint or field affected by this issue.
          maxLength: 512
          type: string
        message:
          description: What needs attention at this location.
          type: string
        operation:
          description: >-
            Affected operation ID or method and path, when available. Empty for
            document-level issues.
          maxLength: 243
          type: string
        suggestion:
          description: How to correct or address the problem.
          type: string
      required:
        - code
        - operation
        - location
        - kind
        - message
        - suggestion
      type: object
  examples:
    bad_request_body:
      value:
        code: bad_request
        detail: request body is invalid
        validation: null
    cloudbox_not_found:
      value:
        code: cloudbox_not_found
        detail: No Cloud Box was found with that ID.
        validation: null
    cloudbox_snapshot_creating:
      value:
        code: cloudbox_snapshot_creating
        detail: >-
          A Snapshot of the Cloud Box is being created. Retry after it is ready
          or failed.
        validation: null
    auth_provider_unavailable:
      value:
        code: auth_provider_unavailable
        detail: >-
          The authentication provider is unavailable. Retry the request after a
          short delay.
        validation: null
    internal_unavailable:
      value:
        code: internal_unavailable
        detail: >-
          The service is temporarily unavailable. Retry the request after a
          short delay.
        validation: null
    auth_invalid:
      value:
        code: auth_invalid
        detail: The authentication credential is invalid.
        validation: null
    auth_missing:
      value:
        code: auth_invalid
        detail: Authentication credentials are required.
        validation: null
    request_timeout:
      value:
        code: request_timeout
        detail: >-
          The request body was not received before the timeout. Retry the
          request.
        validation: null
    payload_too_large:
      value:
        code: payload_too_large
        detail: The request body exceeds the maximum allowed size.
        validation: null
    unsupported_media_type:
      value:
        code: unsupported_media_type
        detail: The request Content-Type is not supported.
        validation: null
    internal:
      value:
        code: internal
        detail: The server encountered an unexpected error.
        validation: null
  responses:
    Unauthorized:
      content:
        application/problem+json:
          examples:
            auth_invalid:
              $ref: '#/components/examples/auth_invalid'
            auth_missing:
              $ref: '#/components/examples/auth_missing'
          schema:
            $ref: '#/components/schemas/Error'
      description: Unauthorized
    RequestTimeout:
      content:
        application/problem+json:
          examples:
            request_timeout:
              $ref: '#/components/examples/request_timeout'
          schema:
            $ref: '#/components/schemas/Error'
      description: Request Timeout
    PayloadTooLarge:
      content:
        application/problem+json:
          examples:
            payload_too_large:
              $ref: '#/components/examples/payload_too_large'
          schema:
            $ref: '#/components/schemas/Error'
      description: Request Entity Too Large
    UnsupportedMediaType:
      content:
        application/problem+json:
          examples:
            unsupported_media_type:
              $ref: '#/components/examples/unsupported_media_type'
          schema:
            $ref: '#/components/schemas/Error'
      description: Unsupported Media Type
    InternalServerError:
      content:
        application/problem+json:
          examples:
            internal:
              $ref: '#/components/examples/internal'
          schema:
            $ref: '#/components/schemas/Error'
      description: Internal Server Error
  securitySchemes:
    apiKeyAuth:
      bearerFormat: Continuous API key
      description: >-
        Use a Continuous API key. Send it in the Authorization header as a
        Bearer token.
      scheme: bearer
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.