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

# Get an episode

> An episode's own fields plus totals computed from its traces: tokens, agent time, participating agents and whether any trace failed.

`has_error` reports an error on the episode itself, and `any_trace_error` reports one on any member trace, so an episode-level failure stays visible even when every trace succeeded. An episode with no traces is valid and returns empty totals.

With `raw=true`, returns the stored episode document, with `traces` listing the member trace IDs.



## OpenAPI

````yaml https://prime-traces.pintel.dev/openapi.json get /api/v1/episodes/{episode_id}
openapi: 3.1.0
info:
  title: Prime Traces
  description: >
    Upload, query and delete training, evaluation and inference traces.


    Authenticate with a Prime Intellect API key that has the **Prime Traces**

    permission, sent as `Authorization: Bearer <api key>`. Send
    `X-Prime-Team-ID`

    to act on a team's traces instead of your personal ones.


    Errors share one envelope, `{"error": {"code", "message", "details?"}}`,
    where

    `code` is stable and safe to branch on.
  version: '0'
servers:
  - url: https://prime-traces.pintel.dev
security: []
paths:
  /api/v1/episodes/{episode_id}:
    get:
      tags:
        - Episodes
      summary: Get an episode
      description: >-
        An episode's own fields plus totals computed from its traces: tokens,
        agent time, participating agents and whether any trace failed.


        `has_error` reports an error on the episode itself, and
        `any_trace_error` reports one on any member trace, so an episode-level
        failure stays visible even when every trace succeeded. An episode with
        no traces is valid and returns empty totals.


        With `raw=true`, returns the stored episode document, with `traces`
        listing the member trace IDs.
      operationId: get_episode_api_v1_episodes__episode_id__get
      parameters:
        - name: episode_id
          in: path
          required: true
          schema:
            type: string
            title: Episode Id
        - name: raw
          in: query
          required: false
          schema:
            type: boolean
            default: false
            title: Raw
        - name: x-prime-team-id
          in: header
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Act on this team's traces instead of your personal ones. You must
              be a member of the team.
            title: X-Prime-Team-Id
          description: >-
            Act on this team's traces instead of your personal ones. You must be
            a member of the team.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EpisodeDetail'
        '401':
          description: 'Missing or malformed `Authorization: Bearer <api key>` header.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: >-
            The API key lacks the required `traces` permission (`forbidden`), or
            Prime Traces is not enabled for this account
            (`service_not_enabled`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: No episode with this ID (`episode_not_found`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '503':
          description: >-
            Storage or authentication is temporarily unavailable. Retry after
            the `Retry-After` header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - PrimeApiKey: []
components:
  schemas:
    EpisodeDetail:
      properties:
        episode_id:
          type: string
          title: Episode Id
        upload_id:
          type: string
          title: Upload Id
        schema_version:
          type: integer
          title: Schema Version
        created_at:
          type: string
          format: date-time
          title: Created At
        ingested_at:
          type: string
          format: date-time
          title: Ingested At
        run_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Run Id
        environment_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Environment Id
        outcome:
          anyOf:
            - type: string
            - type: 'null'
          title: Outcome
        has_error:
          type: boolean
          title: Has Error
        error:
          $ref: '#/components/schemas/EpisodeError'
        traces:
          $ref: '#/components/schemas/EpisodeTraceAggregate'
      type: object
      required:
        - episode_id
        - upload_id
        - schema_version
        - created_at
        - ingested_at
        - run_id
        - environment_id
        - outcome
        - has_error
        - error
        - traces
      title: EpisodeDetail
    ErrorResponse:
      properties:
        error:
          $ref: '#/components/schemas/ErrorBody'
      type: object
      required:
        - error
      title: ErrorResponse
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    EpisodeError:
      properties:
        type:
          anyOf:
            - type: string
            - type: 'null'
          title: Type
        message:
          anyOf:
            - type: string
            - type: 'null'
          title: Message
      type: object
      required:
        - type
        - message
      title: EpisodeError
    EpisodeTraceAggregate:
      properties:
        trace_count:
          type: integer
          title: Trace Count
        total_tokens:
          type: integer
          title: Total Tokens
        total_duration_ms:
          type: integer
          title: Total Duration Ms
        any_trace_error:
          type: boolean
          title: Any Trace Error
        agent_names:
          items:
            type: string
          type: array
          title: Agent Names
      type: object
      required:
        - trace_count
        - total_tokens
        - total_duration_ms
        - any_trace_error
        - agent_names
      title: EpisodeTraceAggregate
      description: >-
        Read-time rollup over deduplicated member traces.


        A zero-trace episode is a legitimate terminal state — a failure before
        any

        trace was minted still leaves its errors on the episode — so an empty

        aggregate is not an error.
    ErrorBody:
      properties:
        code:
          $ref: '#/components/schemas/ErrorCode'
        message:
          type: string
          title: Message
        details:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Details
      type: object
      required:
        - code
        - message
      title: ErrorBody
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    ErrorCode:
      type: string
      enum:
        - upload_too_large
        - trace_too_large
        - too_many_traces_in_episode
        - episode_id_too_long
        - environment_id_too_long
        - too_many_traces_in_upload
        - duplicate_trace_id
        - duplicate_episode_id
        - digest_mismatch
        - line_format_mismatch
        - malformed_encoding
        - invalid_trace
        - invalid_metadata
        - created_at_out_of_window
        - unsupported_schema_version
        - unknown_episode_reference
        - line_format_conflict
        - source_conflict
        - upload_attribution_conflict
        - billing_intent_required
        - invalid_idempotency_key
        - invalid_cursor
        - invalid_filter
        - search_limit_exceeded
        - unauthenticated
        - forbidden
        - service_not_enabled
        - auth_unavailable
        - trace_not_found
        - trace_not_indexed
        - run_not_found
        - episode_not_found
        - export_job_not_found
        - task_already_running
        - invalid_schedule_time
        - snapshot_not_due
        - statement_production_incomplete
        - statement_production_failed
        - rate_limited
        - writer_pool_saturated
        - ingest_capacity_exceeded
        - ingest_unavailable
        - storage_unavailable
        - index_task_queue_unavailable
        - internal_error
      title: ErrorCode
  securitySchemes:
    PrimeApiKey:
      type: http
      description: A Prime Intellect API key with the Prime Traces permission.
      scheme: bearer

````

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