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

# Get file upload URL



## OpenAPI

````yaml post /v1/files/presigned-url
openapi: 3.0.0
info:
  title: Document APIs Specification
  description: Section for description
  version: '1.0'
  contact: {}
servers:
  - url: https://staging.api.us.aptlydone.com/document
  - url: https://staging.api.eu.aptlydone.com/document
  - url: https://api.us.aptlydone.com/document
  - url: https://api.eu.aptlydone.com/document
security: []
tags: []
paths:
  /v1/files/presigned-url:
    post:
      tags:
        - files
      summary: Get file upload URL
      operationId: FileController_getPresignedUrl_v1
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FilePresignUploadDto'
      responses:
        '201':
          description: Presigned URL generated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FilePresignedUrlResponseDtoResponse'
      security:
        - accessToken: []
components:
  schemas:
    FilePresignUploadDto:
      type: object
      properties:
        filename:
          type: string
          example: company-logo.jpg
          description: Original filename
        type:
          enum:
            - logos
            - documents
            - images
          type: string
          example: logos
          description: Type of file being uploaded
        container:
          enum:
            - logos
            - documents
            - images
          type: string
          example: publicAssetsContainer
          description: Container of file being uploaded
        contentType:
          type: string
          example: image/jpeg
          description: File MIME type
      required:
        - filename
        - type
        - container
        - contentType
    FilePresignedUrlResponseDtoResponse:
      type: object
      properties:
        statusCode:
          type: number
          description: HTTP Status code
          example: 200
        timestamp:
          type: string
          description: Timestamp of the response
          example: '2026-01-12T09:12:23.874Z'
        message:
          type: string
          description: Response message
          example: Success
        data:
          description: Response data
          allOf:
            - $ref: '#/components/schemas/FilePresignedUrlResponseDto'
      required:
        - statusCode
        - timestamp
        - message
        - data
    FilePresignedUrlResponseDto:
      type: object
      properties:
        uploadUrl:
          type: string
          example: https://storage.azure.com/container/file.jpg?sig=xxx
          description: Presigned URL for file upload
        fileUrl:
          type: string
          example: https://storage.azure.com/container/file.jpg
          description: URL to access the file after upload
        expiresIn:
          type: number
          example: 300
          description: Expiration time in seconds
      required:
        - uploadUrl
        - fileUrl
        - expiresIn
  securitySchemes:
    accessToken:
      scheme: bearer
      bearerFormat: JWT
      type: http

````