get:
    tags:
        - hs-office-persons
    description: 'Fetch a single business person by its uuid, if visible for the current subject.'
    operationId: getSinglePersonByUuid
    parameters:
        - $ref: 'auth.yaml#/components/parameters/currentSubject'
        - $ref: 'auth.yaml#/components/parameters/assumedRoles'
        - name: personUUID
          in: path
          required: true
          schema:
              type: string
              format: uuid
          description: UUID of the person to fetch.
    responses:
        "200":
            description: OK
            content:
                'application/json':
                    schema:
                        $ref: 'hs-office-person-schemas.yaml#/components/schemas/HsOfficePerson'

        "401":
            $ref: 'error-responses.yaml#/components/responses/Unauthorized'
        "403":
            $ref: 'error-responses.yaml#/components/responses/Forbidden'

patch:
    tags:
        - hs-office-persons
    description: 'Updates a single person by its uuid, if permitted for the current subject.'
    operationId: patchPerson
    parameters:
        -   $ref: 'auth.yaml#/components/parameters/currentSubject'
        -   $ref: 'auth.yaml#/components/parameters/assumedRoles'
        -   name: personUUID
            in: path
            required: true
            schema:
                type: string
                format: uuid
    requestBody:
        content:
            'application/json':
                schema:
                    $ref: 'hs-office-person-schemas.yaml#/components/schemas/HsOfficePersonPatch'
    responses:
        "200":
            description: OK
            content:
                'application/json':
                    schema:
                        $ref: 'hs-office-person-schemas.yaml#/components/schemas/HsOfficePerson'
        "401":
            $ref: 'error-responses.yaml#/components/responses/Unauthorized'
        "403":
            $ref: 'error-responses.yaml#/components/responses/Forbidden'

delete:
    tags:
        - hs-office-persons
    description: 'Delete a single business person by its uuid, if permitted for the current subject.'
    operationId: deletePersonByUuid
    parameters:
        - $ref: 'auth.yaml#/components/parameters/currentSubject'
        - $ref: 'auth.yaml#/components/parameters/assumedRoles'
        - name: personUUID
          in: path
          required: true
          schema:
              type: string
              format: uuid
          description: UUID of the person to delete.
    responses:
        "204":
            description: No Content
        "401":
            $ref: 'error-responses.yaml#/components/responses/Unauthorized'
        "403":
            $ref: 'error-responses.yaml#/components/responses/Forbidden'
        "404":
            $ref: 'error-responses.yaml#/components/responses/NotFound'
