seahaven-ap/packages/api/openapi/paths/vendors-id.yaml

86 lines
2.1 KiB
YAML

parameters:
- name: id
in: path
required: true
description: Vendor primary key.
schema:
type: string
format: uuid
example: 55555555-5555-4555-8555-555555555555
get:
tags: [Master data]
summary: Get a vendor
description: Returns one vendor by id.
operationId: get-api-vendors-id
responses:
"200":
description: Vendor.
content:
application/json:
schema:
$ref: ../components/schemas.yaml#/Vendor
"400":
description: Invalid id.
content:
application/json:
schema:
$ref: ../components/schemas.yaml#/Error
"401":
description: Missing session.
content:
application/json:
schema:
$ref: ../components/schemas.yaml#/Error
"404":
description: Vendor not found.
content:
application/json:
schema:
$ref: ../components/schemas.yaml#/Error
patch:
tags: [Master data]
summary: Update a vendor
description: Admin-only patch. Requires admin:settings.
operationId: patch-api-vendors-id
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
example: Harbor Maintenance LLC
email:
type: string
example: billing@harbor.example
defaultPaymentMethod:
type: string
enum: [check, ach]
example: check
responses:
"200":
description: Updated vendor.
content:
application/json:
schema:
$ref: ../components/schemas.yaml#/Vendor
"400":
description: Validation failed.
content:
application/json:
schema:
$ref: ../components/schemas.yaml#/Error
"403":
description: Caller lacks admin:settings.
content:
application/json:
schema:
$ref: ../components/schemas.yaml#/Error
"404":
description: Vendor not found.
content:
application/json:
schema:
$ref: ../components/schemas.yaml#/Error