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

# File

> Submits a file to ReadFile for processing. You'll get a 'job_id' back, which you can use to track the status of your extraction job.



## OpenAPI

````yaml POST /v1.0.1/file/read
openapi: 3.0.1
info:
  title: ReadFile Documentation
  description: This is the API documentation for the ReadFile API
  license:
    name: MIT
  version: 1.0.1
servers:
  - url: https://api.readfile.io/
security:
  - ApiKeyAuth: []
paths:
  /v1.0.1/file/read:
    post:
      description: >-
        Submits a file to ReadFile for processing. You'll get a 'job_id' back,
        which you can use to track the status of your extraction job.
      parameters:
        - in: query
          name: strategy
          schema:
            type: string
            enum:
              - default
              - vision
              - sota
            default: default
          required: false
          description: >-
            The processing strategy to use for text extraction. For more, see
            [here](/api-reference/v1/0/1/strategies)
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: string
                  format: binary
                  description: The file to be processed. Can be any of [.pdf, .docx, .png].
              required:
                - file
      responses:
        '202':
          description: Accepted response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AcceptedResponse'
        '400':
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Rate Limit Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    AcceptedResponse:
      required:
        - job_id
        - status
      type: object
      properties:
        job_id:
          description: >-
            The identifier of your task on ReadFile. You can use this to track
            the status, and download the results.
          type: string
        status:
          description: >-
            The current state of your task on ReadFile. This will read
            'processing' once the task is being worked on.
          type: string
    Error:
      required:
        - error
        - message
      type: object
      properties:
        error:
          type: integer
          format: int32
        message:
          type: string
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-KEY

````