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

# Upload document

> Upload a new document



## OpenAPI

````yaml https://api.conduit.financial/api-docs/2024-12-01/openapi-external.yaml?mode=dynamic post /documents
openapi: 3.0.2
info:
  version: '2024-12-01'
  title: Conduit API
  description: The Conduit Financial API
  contact:
    name: Conduit Support
    email: conduit@conduit.fi
servers:
  - url: https://api.conduit.financial
    description: The Conduit API live environment
  - url: https://api.sandbox.conduit.financial
    description: The Conduit API Sandbox environment
security: []
tags:
  - name: Accounts
    description: |
      Endpoints dealing with accounts.
  - name: Counterparties
    description: |
      Endpoints dealing with counterparties information. 
  - name: Quotes
    description: |
      Endpoints dealing with quotes.
  - name: Transactions
    description: |
      Endpoints dealing with transactions.
  - name: Documents
    description: |
      Endpoints dealing with documents.
  - name: Customers
    description: |
      Endpoints dealing with customer information. 
paths:
  /documents:
    post:
      tags:
        - Documents
      summary: Upload document
      description: Upload a new document
      operationId: createDocument
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateDocumentRequest'
      responses:
        '201':
          description: The created document
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateTransactionDocumentResponse'
        '400':
          description: Input validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestErrorResponse'
        '401':
          description: Authentication error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestErrorResponse'
        '403':
          description: Authorization error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenErrorResponse'
        '415':
          description: Unsupported media type error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnsupportedMediaTypeErrorResponse'
        '429':
          description: Throttling error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequestsErrorResponse'
        '500':
          description: Internal Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerErrorResponse'
      security:
        - apiKey: []
          apiSecret: []
components:
  schemas:
    CreateDocumentRequest:
      type: object
      properties:
        file:
          $ref: '#/components/schemas/BinaryFile'
        scope:
          type: string
          enum:
            - transaction
            - counterparty
            - customer
          default: transaction
        type:
          type: string
          enum:
            - invoice
            - contract
          default: invoice
        purpose:
          type: string
          enum:
            - transaction_justification
          default: transaction_justification
      additionalProperties: false
    CreateTransactionDocumentResponse:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/DocumentId'
      required:
        - id
    BadRequestErrorResponse:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              detail:
                type: string
              code:
                type: string
            required:
              - detail
              - code
      required:
        - errors
    ForbiddenErrorResponse:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              detail:
                type: string
              code:
                type: string
            required:
              - detail
              - code
      required:
        - errors
    UnsupportedMediaTypeErrorResponse:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              detail:
                type: string
              code:
                type: string
            required:
              - detail
              - code
      required:
        - errors
    TooManyRequestsErrorResponse:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              detail:
                type: string
              code:
                type: string
            required:
              - detail
              - code
      required:
        - errors
    InternalServerErrorResponse:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              detail:
                type: string
              code:
                type: string
            required:
              - detail
              - code
      required:
        - errors
    BinaryFile:
      type: string
      format: binary
    DocumentId:
      type: string
      pattern: ^doc_[a-zA-Z0-9]{27}$
      description: A valid Document ID
      example: doc_2ofTAESrTs4uQ8N3yGBMhGj59jV
  securitySchemes:
    apiKey:
      type: apiKey
      description: Includes an API key in the HTTP headers to authenticate the client.
      name: X-API-Key
      in: header
    apiSecret:
      type: apiKey
      description: Includes an API secret in the HTTP headers to authenticate the client.
      name: X-API-Secret
      in: header

````