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

# Get File Contents

> Retrieve the contents of a file from the authenticated account's sandbox GitHub repository. Resolves the github_repo from the [account's snapshot](/api-reference/sandboxes/list), then fetches the file at the specified path from the repository's main branch. **Text files are returned verbatim. Binary files (`.mp3`, `.png`, `.jpg`, `.mp4`, `.pdf`, etc.) are returned base64-encoded — decode before writing to disk.** Authentication is handled via the x-api-key header or Authorization Bearer token.



## OpenAPI

````yaml api-reference/openapi/content.json GET /api/sandboxes/file
openapi: 3.1.0
info:
  title: Recoup API - Content
  description: >-
    API documentation for the Recoup platform - an AI agent platform for the
    music industry
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.recoupable.dev
security: []
paths:
  /api/sandboxes/file:
    get:
      description: >-
        Retrieve the contents of a file from the authenticated account's sandbox
        GitHub repository. Resolves the github_repo from the [account's
        snapshot](/api-reference/sandboxes/list), then fetches the file at the
        specified path from the repository's main branch. **Text files are
        returned verbatim. Binary files (`.mp3`, `.png`, `.jpg`, `.mp4`, `.pdf`,
        etc.) are returned base64-encoded — decode before writing to disk.**
        Authentication is handled via the x-api-key header or Authorization
        Bearer token.
      parameters:
        - name: path
          in: query
          required: true
          description: >-
            The file path within the repository (e.g. "src/index.ts" or
            "README.md").
          schema:
            type: string
            example: src/index.ts
      responses:
        '200':
          description: File contents retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SandboxFileResponse'
        '400':
          description: Bad request - missing or invalid path parameter
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SandboxErrorResponse'
        '401':
          description: Unauthorized - invalid or missing API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SandboxErrorResponse'
        '403':
          description: Forbidden - account does not have access
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SandboxErrorResponse'
        '404':
          description: >-
            Not found - no snapshot, no github_repo, or file not found in
            repository
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SandboxErrorResponse'
components:
  schemas:
    SandboxFileResponse:
      type: object
      required:
        - status
        - content
      properties:
        status:
          type: string
          enum:
            - success
          description: Status of the operation
        content:
          type: string
          description: >-
            The file content. Text files (`.md`, `.json`, `.txt`, source code,
            etc.) are returned verbatim. Binary files (`.mp3`, `.png`, `.jpg`,
            `.mp4`, `.pdf`, etc.) are returned base64-encoded — decode before
            writing to disk. The encoding is inferred from the file extension
            server-side; `encoding` field is not yet returned but planned.
    SandboxErrorResponse:
      type: object
      required:
        - error
      properties:
        error:
          type: string
          description: Error message describing what went wrong
          example: Failed to create sandbox

````