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

# POST /api/files



## OpenAPI

````yaml /api/worksong.openapi.json post /api/files
openapi: 3.1.0
info:
  title: Worksong API
  version: 042e65d5f227
  description: >-
    The HTTP API behind the Worksong apps, generated from the code at the commit
    below. Request and response shapes come from the shared zod contract; an
    operation marked `x-gaps` has a part the generator could not resolve.
  x-source: worksong-ai/worksong@042e65d5f2275493f60f879c7970dcfdeceb7e0e
servers:
  - url: https://app.worksong.ai
security:
  - bearerAuth: []
tags:
  - name: Approvals
  - name: Audit
  - name: Avatar generator
  - name: Bootstrap
  - name: Bot compute limit
  - name: Bot mcp servers
  - name: Bots
  - name: Calls
  - name: Connections
  - name: Contacts
  - name: Conversations
  - name: Coupons
  - name: Day grants
  - name: Desktop
  - name: Entity files
  - name: Files
  - name: Github
  - name: Insights
  - name: Login
  - name: Mcp servers
  - name: Me
  - name: Me bot messaging
  - name: Me chat header
  - name: Me daily limit
  - name: Me time zone
  - name: Memory
  - name: Message delete
  - name: Messages
  - name: Notifications
  - name: Optimize prompt
  - name: Phone
  - name: Places
  - name: Projects
  - name: Public file links
  - name: Push
  - name: Queue
  - name: Reactions
  - name: Register
  - name: Rooms
  - name: Routes
  - name: Routines
  - name: Runs
  - name: Skills
  - name: Tasks
  - name: Transcribe
  - name: Tts
  - name: Webhooks
  - name: Whats new
  - name: Whatsapp
  - name: Workspace files
paths:
  /api/files:
    post:
      tags:
        - Files
      summary: POST /api/files
      operationId: post_api_files
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                filename:
                  type: string
                  minLength: 1
                  maxLength: 255
                mimeType:
                  type: string
                  minLength: 1
                  maxLength: 128
                byteSize:
                  type: integer
                  exclusiveMinimum: 0
                  maximum: 20000000
                sha256:
                  type: string
                  pattern: ^[0-9a-f]{64}$
              required:
                - filename
                - mimeType
                - byteSize
              additionalProperties: false
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  file:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                      filename:
                        type: string
                        minLength: 1
                        maxLength: 255
                      mimeType:
                        type: string
                        minLength: 1
                        maxLength: 128
                      byteSize:
                        type: integer
                        minimum: 0
                        maximum: 9007199254740991
                      available:
                        type: boolean
                      createdAt:
                        type: string
                        format: date-time
                      origin:
                        default: upload
                        type: string
                        enum:
                          - upload
                          - agent
                      sha256:
                        default: null
                        anyOf:
                          - type: string
                            pattern: ^[0-9a-f]{64}$
                          - type: 'null'
                    required:
                      - id
                      - filename
                      - mimeType
                      - byteSize
                      - available
                      - createdAt
                      - origin
                      - sha256
                    additionalProperties: false
                  upload:
                    type: object
                    properties:
                      method:
                        type: string
                        const: PUT
                      url:
                        type: string
                        minLength: 1
                        maxLength: 4096
                      headers:
                        type: object
                        propertyNames:
                          type: string
                          minLength: 1
                          maxLength: 64
                        additionalProperties:
                          type: string
                          maxLength: 256
                      expiresAt:
                        type: string
                        format: date-time
                    required:
                      - method
                      - url
                      - headers
                      - expiresAt
                    additionalProperties: false
                required:
                  - file
                  - upload
                additionalProperties: false
        4XX:
          description: Error. A problem object with a status and a message.
      security:
        - bearerAuth: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````

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