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

# Read one page of immutable Play Run row history

> Reads retained admitted and terminal row generations for a dataset owned by the requested Play Run in the authenticated workspace. Pass nextCursor as cursor to continue. Coverage explicitly reports legacy, unavailable, or in-progress capture; mutable sheet rows are never presented as historical snapshots.

Authentication: workspace API key in `Authorization: Bearer <key>`.

URL-encode path values, including `/` characters inside Play references and run IDs.

## Errors

| Status | Meaning |
| - | - |
| 400 | The request conflicts with current state or a retained request identity. |
| 401 | The request conflicts with current state or a retained request identity. |
| 403 | The request conflicts with current state or a retained request identity. |
| 404 | The request conflicts with current state or a retained request identity. |
| 500 | The request conflicts with current state or a retained request identity. |
| 503 | A required service is unavailable. Respect Retry-After when present. |


## OpenAPI

````yaml openapi.json GET /api/v2/plays/{name}/sheet/history
openapi: 3.1.1
info:
  title: Deepline API
  version: v2
  description: >-
    Discover typed GTM tools and callable Plays, then execute a tool or start
    and inspect a durable Deepline Play run. Use the MCP endpoint when your
    client supports Model Context Protocol.
  contact:
    name: Deepline support
    email: team@deepline.com
    url: https://deepline.com/contact
servers:
  - url: https://code.deepline.com
    description: Deepline production runtime API
security: []
tags:
  - name: Health
    description: Availability checks.
  - name: Billing
    description: Safe recovery of existing purchase intent.
  - name: Tools
    description: Discover and execute typed provider tools.
  - name: Plays
    description: Discover, start, and inspect durable Play runs.
externalDocs:
  description: API reference
  url: https://deepline.com/docs/api-reference
paths:
  /api/v2/plays/{name}/sheet/history:
    get:
      tags:
        - Plays
      summary: Read one page of immutable Play Run row history
      description: >-
        Reads retained admitted and terminal row generations for a dataset owned
        by the requested Play Run in the authenticated workspace. Pass
        nextCursor as cursor to continue. Coverage explicitly reports legacy,
        unavailable, or in-progress capture; mutable sheet rows are never
        presented as historical snapshots.
      operationId: listPlayRunRowHistory
      parameters:
        - name: name
          in: path
          required: true
          description: The name returned by the related Deepline API call.
          schema:
            type: string
            minLength: 1
        - name: runId
          in: query
          required: true
          description: Required Play Run identity owning the dataset.
          schema:
            type: string
            minLength: 1
        - name: tableNamespace
          in: query
          required: true
          description: Required dataset table namespace within the Play Run.
          schema:
            type: string
            minLength: 1
        - name: limit
          in: query
          required: false
          description: Page size from 1 through 1000; defaults to 200.
          schema:
            type: integer
            minimum: 1
            maximum: 1000
            default: 200
        - name: cursor
          in: query
          required: false
          description: Opaque nextCursor from the preceding history page.
          schema:
            type: string
      responses:
        '200':
          description: A successful Runtime API response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RunRowHistoryPage'
        '400':
          description: >-
            The request conflicts with current state or a retained request
            identity.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error: Unauthorized
        '401':
          description: >-
            The request conflicts with current state or a retained request
            identity.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error: Unauthorized
        '403':
          description: >-
            The request conflicts with current state or a retained request
            identity.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error: Unauthorized
        '404':
          description: >-
            The request conflicts with current state or a retained request
            identity.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error: Unauthorized
        '500':
          description: >-
            The request conflicts with current state or a retained request
            identity.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error: Unauthorized
        '503':
          description: A required service is unavailable. Respect Retry-After when present.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error: Unauthorized
          headers:
            Retry-After:
              description: Minimum whole seconds to wait before retrying the request.
              schema:
                type: integer
                minimum: 1
      security:
        - bearerAuth: []
components:
  schemas:
    RunRowHistoryPage:
      type: object
      required:
        - entries
        - nextCursor
        - coverage
      properties:
        entries:
          type: array
          maxItems: 1000
          items:
            type: object
            required:
              - runId
              - datasetId
              - rowKey
              - phase
              - generation
              - attemptSeq
              - rowVersion
              - inputIndex
              - inputDigest
              - status
              - data
              - source
              - recordedAt
            properties:
              runId:
                type: string
              datasetId:
                type: string
              rowKey:
                type: string
              phase:
                type: string
                enum:
                  - admitted
                  - terminal
              generation:
                type: string
                description: >-
                  Immutable admission or terminal generation, including distinct
                  same-run repair versions.
              attemptSeq:
                type:
                  - integer
                  - 'null'
              rowVersion:
                type:
                  - integer
                  - 'null'
              inputIndex:
                type:
                  - integer
                  - 'null'
              inputDigest:
                type: string
              status:
                type: string
                enum:
                  - pending
                  - enriched
                  - failed
                  - cancelled
              data:
                type: object
                additionalProperties: true
              source:
                type: object
                additionalProperties: true
              recordedAt:
                type: string
                format: date-time
        nextCursor:
          type:
            - string
            - 'null'
        coverage:
          type: object
          required:
            - complete
            - expectedRows
            - captureStartedAt
            - captureCompletedAt
            - reason
          properties:
            complete:
              type: boolean
            expectedRows:
              type:
                - integer
                - 'null'
            captureStartedAt:
              type:
                - string
                - 'null'
              format: date-time
            captureCompletedAt:
              type:
                - string
                - 'null'
              format: date-time
            reason:
              type: string
              enum:
                - storage_not_expanded
                - legacy_or_capture_not_enabled
                - capture_in_progress
                - complete
    ErrorResponse:
      type: object
      required:
        - error
      properties:
        error:
          oneOf:
            - type: string
              description: Route-specific error message.
            - type: object
              properties:
                code:
                  type: string
                message:
                  type: string
                resolution:
                  type: string
              additionalProperties: true
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: Deepline workspace API key
      description: >-
        Create a workspace API key in the Deepline dashboard before calling
        authenticated endpoints.

````

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