seahaven-ap/packages/api/openapi/paths/invoices-id-documents.yaml

54 lines
1.4 KiB
YAML
Raw Normal View History

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