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

# Download an egocentric result

> Download an egocentric result with the Egocentric API.

Download the JSON annotations for a `completed` job using your bearer API key. The response streams the JSON body directly. Save it before the job’s `expires_at`, which is 30 days after `finished_at`.

Unfinished and failed jobs return `409` with `result_unavailable`. Expired completed results return `410` with `result_expired`. If a download is interrupted, discard the partial file and retry within the retention period. See [result downloads](https://docs.perceptron.inc/services/egocentric.md#download-a-result).

For authentication, limits, and HTTP errors, see the [workflow](https://docs.perceptron.inc/services/egocentric.md) and [error guide](https://docs.perceptron.inc/services/egocentric-limits-and-errors.md).


## OpenAPI

````yaml api-reference/openapi.json GET /v1/egocentric/jobs/{job_id}/result
openapi: 3.1.0
info:
  title: Perceptron API
  contact:
    name: Perceptron API Support
    email: support@perceptron.inc
  version: 1.0.0
servers:
  - url: https://api.perceptron.inc
security: []
tags:
  - name: Chat Completions
    description: Chat completions API (OpenAI-compatible)
  - name: Detection
    description: Native Perceptron image detection API
  - name: Models
    description: Model listing and metadata API
  - name: Files
    description: File upload, listing, retrieval, and deletion API
  - name: Egocentric
    description: Video annotation batches, jobs and results
paths:
  /v1/egocentric/jobs/{job_id}/result:
    get:
      tags:
        - Egocentric
      summary: Download an egocentric result
      description: Stream the JSON annotation result of a completed job.
      operationId: get_result
      parameters:
        - name: job_id
          in: path
          description: Job identifier.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Annotation result
          content:
            application/json: {}
        '400':
          description: Invalid request or query parameter
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PerceptronErrorResponse'
        '401':
          description: Authentication required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PerceptronErrorResponse'
        '404':
          description: Job not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PerceptronErrorResponse'
        '409':
          description: Result unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PerceptronErrorResponse'
        '410':
          description: Result expired
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PerceptronErrorResponse'
        '429':
          description: Request or submission limit reached
          headers:
            Retry-After:
              schema:
                type: string
              description: >-
                Seconds to wait before retrying; omitted for insufficient
                credits.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PerceptronErrorResponse'
        '500':
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PerceptronErrorResponse'
        '503':
          description: Temporarily unavailable
          headers:
            Retry-After:
              schema:
                type: string
              description: >-
                Seconds to wait before retrying; omitted for insufficient
                credits.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PerceptronErrorResponse'
      security:
        - ApiKeyAuth: []
components:
  schemas:
    PerceptronErrorResponse:
      type: object
      description: Native Perceptron error response format.
      required:
        - error
      properties:
        error:
          $ref: '#/components/schemas/PerceptronErrorDetail'
    PerceptronErrorDetail:
      type: object
      description: Native Perceptron error detail.
      required:
        - message
      properties:
        code:
          type:
            - string
            - 'null'
        message:
          type: string
        param:
          type:
            - string
            - 'null'
        type:
          type:
            - string
            - 'null'
  securitySchemes:
    ApiKeyAuth:
      type: http
      scheme: bearer
      description: Bearer token authentication using your Perceptron API key

````

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