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