> ## Documentation Index
> Fetch the complete documentation index at: https://e2b-sandbox-agent-sdk-docs.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Download a file



## OpenAPI

````yaml /openapi-public.yml get /files
openapi: 3.1.0
info:
  title: E2B API
  version: 0.1.0
  description: >-
    Complete E2B developer API. Platform endpoints are served on api.e2b.app.
    Sandbox endpoints (envd) are served on {port}-{sandboxID}.e2b.app.
servers:
  - url: https://api.e2b.app
    description: E2B Platform API
security: []
tags:
  - name: Sandboxes
  - name: Templates
  - name: Tags
  - name: Envd
  - name: Filesystem
  - name: Process
  - name: Teams
paths:
  /files:
    servers:
      - url: https://{port}-{sandboxID}.e2b.app
        description: Sandbox API (envd) — runs inside each sandbox
        variables:
          port:
            default: '49983'
            description: Port number
          sandboxID:
            default: $SANDBOX_ID
            description: Sandbox identifier
    get:
      tags:
        - Filesystem
      summary: Download a file
      operationId: downloadFile
      parameters:
        - $ref: '#/components/parameters/FilePath'
        - $ref: '#/components/parameters/User'
        - $ref: '#/components/parameters/Signature'
        - $ref: '#/components/parameters/SignatureExpiration'
      responses:
        '200':
          description: Entire file downloaded successfully.
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
                description: The raw file content
        '400':
          description: Invalid path
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                message: path '/home/user/docs' is a directory
                code: 400
        '401':
          description: Invalid user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                message: >-
                  error looking up user 'nonexistent': user: unknown user
                  nonexistent
                code: 401
        '404':
          description: File not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                message: path '/home/user/missing.txt' does not exist
                code: 404
        '406':
          description: Requested encoding is not supported
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                message: 'no acceptable encoding found, supported: [identity, gzip]'
                code: 406
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                message: 'error opening file ''/home/user/file.txt'': permission denied'
                code: 500
        '502':
          description: Sandbox not found
          content:
            application/json:
              schema:
                type: object
                required:
                  - sandboxID
                  - message
                  - code
                properties:
                  message:
                    type: string
                    description: Error message
                  code:
                    type: integer
                    description: Error code
                  sandboxID:
                    type: string
                    description: Identifier of the sandbox
      security:
        - SandboxAccessTokenAuth: []
components:
  parameters:
    FilePath:
      name: path
      in: query
      required: false
      description: >-
        Path to the file, URL encoded. Can be relative to the user's home
        directory (e.g. "file.txt" resolves to ~/file.txt).
      schema:
        type: string
    User:
      name: username
      in: query
      required: false
      description: >-
        User for setting file ownership and resolving relative paths. Defaults
        to the sandbox's default user.
      schema:
        type: string
    Signature:
      name: signature
      in: query
      required: false
      description: Signature used for file access permission verification.
      schema:
        type: string
    SignatureExpiration:
      name: signature_expiration
      in: query
      required: false
      description: >-
        Unix timestamp (seconds) after which the signature expires. Only used
        with the signature parameter.
      schema:
        type: integer
  schemas:
    Error:
      required:
        - code
        - message
      properties:
        code:
          type: integer
          format: int32
          description: Error code
        message:
          type: string
          description: Error
      type: object
  securitySchemes:
    SandboxAccessTokenAuth:
      type: apiKey
      in: header
      name: X-Access-Token
      description: >-
        Sandbox access token (`envdAccessToken`) for authenticating requests to
        a running sandbox. Returned by: [POST
        /sandboxes](/docs/api-reference/sandboxes/create-a-sandbox) (on create),
        [POST
        /sandboxes/{sandboxID}/connect](/docs/api-reference/sandboxes/connect-to-a-sandbox)
        (on connect), [POST
        /sandboxes/{sandboxID}/resume](/docs/api-reference/sandboxes/resume-a-sandbox)
        (on resume), and [GET
        /sandboxes/{sandboxID}](/docs/api-reference/sandboxes/get-a-sandbox)
        (for running or paused sandboxes).

````