parameters: - name: id in: path required: true description: Invoice primary key. schema: type: string format: uuid example: 88888888-8888-4888-8888-888888888888 post: tags: [Documents] summary: Presign a document upload description: Creates a document row and returns a MinIO or S3 presigned PUT URL. operationId: post-api-invoices-id-documents requestBody: required: true content: application/json: schema: type: object required: [fileName] properties: fileName: type: string example: inv-1001.pdf contentType: type: string example: application/pdf responses: "201": description: Document row with upload URL. content: application/json: schema: $ref: ../components/schemas.yaml#/Document "400": description: Validation failed. content: application/json: schema: $ref: ../components/schemas.yaml#/Error "403": description: Caller lacks write:invoices. content: application/json: schema: $ref: ../components/schemas.yaml#/Error "404": description: Invoice not found. content: application/json: schema: $ref: ../components/schemas.yaml#/Error