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

# Get a stop by id

> Returns one stop of this sandbox by the id that `POST /sandboxes/{sandboxId}/stop` returned. Old stops stay readable after a resume or a later stop. Returns 404 when the id is unknown or belongs to another sandbox.



## OpenAPI

````yaml openapi/boat-v1.yaml GET /sandboxes/{sandboxId}/stops/{stopId}
openapi: 3.1.0
info:
  title: Boat Public API v1
  version: 1.0.0
  description: >
    Public JSON API for creating, operating, prompting, observing, and exposing
    sandboxes from backend services, CI jobs, hosted workers, and Boat
    automation products.


    The v1 reference intentionally documents the developer integration surface
    only. Dashboard billing actions are not part of v1.
servers:
  - url: https://boat.dev/api/v1
security:
  - BoatBearerAuth: []
tags:
  - name: Boat
    description: >-
      Unified Boat account, setup, lifecycle, prompting, event history, desktop
      access, and SSH operations.
paths:
  /sandboxes/{sandboxId}/stops/{stopId}:
    get:
      tags:
        - Boat
      summary: Get a stop by id
      description: >-
        Returns one stop of this sandbox by the id that `POST
        /sandboxes/{sandboxId}/stop` returned. Old stops stay readable after a
        resume or a later stop. Returns 404 when the id is unknown or belongs to
        another sandbox.
      operationId: getStop
      parameters:
        - $ref: '#/components/parameters/SandboxId'
        - name: stopId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: The stop.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StopOperationResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  parameters:
    SandboxId:
      name: sandboxId
      in: path
      required: true
      schema:
        type: string
        pattern: ^bx_[23456789abcdefghjkmnpqrstuvwxyz]{8}$
      description: Public Sandbox id returned by create/list/get sandbox calls.
  schemas:
    StopOperationResponse:
      allOf:
        - $ref: '#/components/schemas/SuccessBase'
        - type: object
          required:
            - id
            - stop
          properties:
            type:
              type: string
              const: stop.status
            id:
              type: string
            stop:
              $ref: '#/components/schemas/StopOperation'
    SuccessBase:
      type: object
      required:
        - ok
        - type
      properties:
        ok:
          type: boolean
          examples:
            - true
        type:
          type: string
          description: Stable success envelope discriminator added by v1.
    StopOperation:
      type: object
      required:
        - id
        - status
        - requestedAt
        - lastAttemptAt
        - error
        - endedAt
      properties:
        id:
          type: string
          description: >-
            Stable id of this stop. Calling stop again while it is pending
            returns the same id.
          examples:
            - stop_3f9a1c2e7b4d5a60
        status:
          type: string
          enum:
            - pending
            - failing
            - completed
            - superseded
          description: >-
            `pending`: accepted, the sandbox is archiving. `failing`: the last
            attempt failed (see `error`); it is retried automatically until the
            sandbox archives. Running commands or prompts does not cancel it.
            `completed`: the sandbox is archived. `superseded`: a resume ended
            it before it completed.
        requestedAt:
          type:
            - string
            - 'null'
          format: date-time
          description: >-
            When the stop was accepted. On the sandbox, null once it has ended.
            Read by id (`GET /sandboxes/{sandboxId}/stops/{stopId}`), it is
            kept.
        lastAttemptAt:
          type:
            - string
            - 'null'
          format: date-time
          description: When the last archival attempt ended.
        error:
          type:
            - string
            - 'null'
          description: >-
            Why the last attempt failed, while `status` is `failing`. Otherwise
            null.
        endedAt:
          type:
            - string
            - 'null'
          format: date-time
          description: When the stop completed or was superseded.
    ErrorEnvelope:
      type: object
      required:
        - ok
        - type
        - status
        - code
        - message
        - error
        - requestId
      properties:
        ok:
          type: boolean
          examples:
            - false
        type:
          type: string
          examples:
            - sandbox.error
        status:
          type: integer
          examples:
            - 409
        code:
          type: string
          examples:
            - provider_not_configured
        message:
          type: string
          examples:
            - Prompting is locked until Codex is configured on the Agents page.
        requestId:
          type: string
          examples:
            - req_01HX...
        error:
          type: object
          required:
            - code
            - message
            - status
          properties:
            code:
              type: string
            message:
              type: string
            status:
              type: integer
            details:
              type: object
              additionalProperties: true
  responses:
    Unauthorized:
      description: Missing or invalid bearer token.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
          examples:
            unauthorized:
              value:
                ok: false
                type: sandbox.error
                status: 401
                code: unauthorized
                message: Unauthorized
                error:
                  code: unauthorized
                  message: Unauthorized
                  status: 401
                requestId: req_01HX...
    NotFound:
      description: Resource not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
  securitySchemes:
    BoatBearerAuth:
      type: http
      scheme: bearer
      bearerFormat: sandbox_api_key
      description: >-
        Boat bearer token in the form `boat_...`. Service API keys authenticate
        sandbox operations.

````

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