openapi: 3.0.1
info:
  title: Back Office API
  version: '1.0'
servers:
  - url: 'https://api.lwolf.com/backoffice'
paths:
  '/v1/transactions/{transactionId}/business-contacts':
    get:
      tags:
        - Business Contacts
      summary: Get Business Contacts
      description: Returns all the business contacts for the specified transaction.
      operationId: get-v1-transactions-transactionid-business-contacts
      parameters:
        - name: transactionId
          in: path
          description: The id of the transaction.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BusinessContact'
              example:
                - id: string
                  createdTimestamp: string
                  modifiedTimestamp: string
                  contactTypeId: string
                  endCode: B
                  prefix: string
                  firstName: string
                  lastName: string
                  companyName: string
                  addressLine1: string
                  addressLine2: string
                  addressCity: string
                  addressPostalCode: string
                  addressProvinceCode: string
                  addressCountryCode: string
                  phoneNumberMain: string
                  phoneNumberBusiness: string
                  phoneNumberMobile: string
                  faxNumberMain: string
                  emailAddressMain: string
                  emailAddressWork: string
                  contactType:
                    name: string
                    code: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
    post:
      tags:
        - Business Contacts
      summary: Create Business Contact
      description: Creates a new business contact for the transaction.
      operationId: post-v1-transactions-transactionid-business-contacts
      parameters:
        - name: transactionId
          in: path
          description: The id of the transaction.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        description: The business contact to create.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BusinessContact'
            example:
              id: string
              createdTimestamp: string
              modifiedTimestamp: string
              contactTypeId: string
              endCode: B
              prefix: string
              firstName: string
              lastName: string
              companyName: string
              addressLine1: string
              addressLine2: string
              addressCity: string
              addressPostalCode: string
              addressProvinceCode: string
              addressCountryCode: string
              phoneNumberMain: string
              phoneNumberBusiness: string
              phoneNumberMobile: string
              faxNumberMain: string
              emailAddressMain: string
              emailAddressWork: string
              contactType:
                name: string
                code: string
      responses:
        '200':
          description: OK
        '201':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BusinessContact'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                contactTypeId: string
                endCode: B
                prefix: string
                firstName: string
                lastName: string
                companyName: string
                addressLine1: string
                addressLine2: string
                addressCity: string
                addressPostalCode: string
                addressProvinceCode: string
                addressCountryCode: string
                phoneNumberMain: string
                phoneNumberBusiness: string
                phoneNumberMobile: string
                faxNumberMain: string
                emailAddressMain: string
                emailAddressWork: string
                contactType:
                  name: string
                  code: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '409':
          description: Conflict. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '422':
          description: Validation failed. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
  '/v1/business-contacts/{businessContactId}':
    get:
      tags:
        - Business Contacts
      summary: Get Business Contact
      description: Retrieves a single business contact.
      operationId: get-v1-business-contacts-businesscontactid
      parameters:
        - name: businessContactId
          in: path
          description: The id of the business contact.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BusinessContact'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                contactTypeId: string
                endCode: B
                prefix: string
                firstName: string
                lastName: string
                companyName: string
                addressLine1: string
                addressLine2: string
                addressCity: string
                addressPostalCode: string
                addressProvinceCode: string
                addressCountryCode: string
                phoneNumberMain: string
                phoneNumberBusiness: string
                phoneNumberMobile: string
                faxNumberMain: string
                emailAddressMain: string
                emailAddressWork: string
                contactType:
                  name: string
                  code: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
    patch:
      tags:
        - Business Contacts
      summary: Update Business Contact
      description: Make changes to existing business contacts.
      operationId: patch-v1-business-contacts-businesscontactid
      parameters:
        - name: businessContactId
          in: path
          description: The id of the business contact.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        description: The properties of the business contact to update.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BusinessContactPatchRequest'
            example:
              contactTypeId: string
              endCode: B
              prefix: string
              firstName: string
              lastName: string
              companyName: string
              addressLine1: string
              addressLine2: string
              addressCity: string
              addressPostalCode: string
              addressProvinceCode: string
              addressCountryCode: string
              phoneNumberMain: string
              phoneNumberBusiness: string
              phoneNumberMobile: string
              faxNumberMain: string
              emailAddressMain: string
              emailAddressWork: string
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BusinessContact'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                contactTypeId: string
                endCode: B
                prefix: string
                firstName: string
                lastName: string
                companyName: string
                addressLine1: string
                addressLine2: string
                addressCity: string
                addressPostalCode: string
                addressProvinceCode: string
                addressCountryCode: string
                phoneNumberMain: string
                phoneNumberBusiness: string
                phoneNumberMobile: string
                faxNumberMain: string
                emailAddressMain: string
                emailAddressWork: string
                contactType:
                  name: string
                  code: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '422':
          description: Validation failed. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
    delete:
      tags:
        - Business Contacts
      summary: Delete Business Contact
      description: Delete an existing business contact.
      operationId: delete-v1-business-contacts-businesscontactid
      parameters:
        - name: businessContactId
          in: path
          description: The id of the business contact.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BusinessContact'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                contactTypeId: string
                endCode: B
                prefix: string
                firstName: string
                lastName: string
                companyName: string
                addressLine1: string
                addressLine2: string
                addressCity: string
                addressPostalCode: string
                addressProvinceCode: string
                addressCountryCode: string
                phoneNumberMain: string
                phoneNumberBusiness: string
                phoneNumberMobile: string
                faxNumberMain: string
                emailAddressMain: string
                emailAddressWork: string
                contactType:
                  name: string
                  code: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
  /v1/classifications:
    get:
      tags:
        - Classifications
      summary: Get Classifications
      operationId: get-v1-classifications
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Classification'
              example:
                - id: string
                  createdTimestamp: string
                  modifiedTimestamp: string
                  name: string
                  code: string
                  endCount: 0
                  endTypeCode: B
                  inactiveDate: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
  '/v1/classifications/{classificationId}':
    get:
      tags:
        - Classifications
      summary: Get Classification
      operationId: get-v1-classifications-classificationid
      parameters:
        - name: classificationId
          in: path
          description: The id of the classification.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Classification'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                name: string
                code: string
                endCount: 0
                endTypeCode: B
                inactiveDate: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
  '/v1/transactions/{transactionId}/client-contacts':
    get:
      tags:
        - Client Contacts
      summary: Get Client Contacts
      operationId: get-v1-transactions-transactionid-client-contacts
      parameters:
        - name: transactionId
          in: path
          description: The id of the transaction.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ClientContact'
              example:
                - id: string
                  createdTimestamp: string
                  modifiedTimestamp: string
                  contactTypeId: string
                  endCode: B
                  prefix: string
                  firstName: string
                  lastName: string
                  companyName: string
                  addressLine1: string
                  addressLine2: string
                  addressCity: string
                  addressPostalCode: string
                  addressProvinceCode: string
                  addressCountryCode: string
                  phoneNumberMain: string
                  phoneNumberBusiness: string
                  phoneNumberMobile: string
                  faxNumberMain: string
                  emailAddressMain: string
                  emailAddressWork: string
                  contactType:
                    name: string
                    code: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
    post:
      tags:
        - Client Contacts
      summary: Create Client Contact
      operationId: post-v1-transactions-transactionid-client-contacts
      parameters:
        - name: transactionId
          in: path
          description: The id of the transaction.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        description: The client contact to create.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClientContact'
            example:
              id: string
              createdTimestamp: string
              modifiedTimestamp: string
              contactTypeId: string
              endCode: B
              prefix: string
              firstName: string
              lastName: string
              companyName: string
              addressLine1: string
              addressLine2: string
              addressCity: string
              addressPostalCode: string
              addressProvinceCode: string
              addressCountryCode: string
              phoneNumberMain: string
              phoneNumberBusiness: string
              phoneNumberMobile: string
              faxNumberMain: string
              emailAddressMain: string
              emailAddressWork: string
              contactType:
                name: string
                code: string
      responses:
        '200':
          description: OK
        '201':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientContact'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                contactTypeId: string
                endCode: B
                prefix: string
                firstName: string
                lastName: string
                companyName: string
                addressLine1: string
                addressLine2: string
                addressCity: string
                addressPostalCode: string
                addressProvinceCode: string
                addressCountryCode: string
                phoneNumberMain: string
                phoneNumberBusiness: string
                phoneNumberMobile: string
                faxNumberMain: string
                emailAddressMain: string
                emailAddressWork: string
                contactType:
                  name: string
                  code: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '409':
          description: Conflict. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '422':
          description: Validation failed. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
  '/v1/client-contacts/{clientContactId}':
    get:
      tags:
        - Client Contacts
      summary: Get Client Contact
      operationId: get-v1-client-contacts-clientcontactid
      parameters:
        - name: clientContactId
          in: path
          description: The id of the client contact.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientContact'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                contactTypeId: string
                endCode: B
                prefix: string
                firstName: string
                lastName: string
                companyName: string
                addressLine1: string
                addressLine2: string
                addressCity: string
                addressPostalCode: string
                addressProvinceCode: string
                addressCountryCode: string
                phoneNumberMain: string
                phoneNumberBusiness: string
                phoneNumberMobile: string
                faxNumberMain: string
                emailAddressMain: string
                emailAddressWork: string
                contactType:
                  name: string
                  code: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
    patch:
      tags:
        - Client Contacts
      summary: Update Client Contact
      operationId: patch-v1-client-contacts-clientcontactid
      parameters:
        - name: clientContactId
          in: path
          description: The id of the client contact.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        description: The properties of the client contact to update.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClientContactPatchRequest'
            example:
              contactTypeId: string
              endCode: B
              prefix: string
              firstName: string
              lastName: string
              companyName: string
              addressLine1: string
              addressLine2: string
              addressCity: string
              addressPostalCode: string
              addressProvinceCode: string
              addressCountryCode: string
              phoneNumberMain: string
              phoneNumberBusiness: string
              phoneNumberMobile: string
              faxNumberMain: string
              emailAddressMain: string
              emailAddressWork: string
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientContact'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                contactTypeId: string
                endCode: B
                prefix: string
                firstName: string
                lastName: string
                companyName: string
                addressLine1: string
                addressLine2: string
                addressCity: string
                addressPostalCode: string
                addressProvinceCode: string
                addressCountryCode: string
                phoneNumberMain: string
                phoneNumberBusiness: string
                phoneNumberMobile: string
                faxNumberMain: string
                emailAddressMain: string
                emailAddressWork: string
                contactType:
                  name: string
                  code: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '422':
          description: Validation failed. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
    delete:
      tags:
        - Client Contacts
      summary: Delete Client Contact
      operationId: delete-v1-client-contacts-clientcontactid
      parameters:
        - name: clientContactId
          in: path
          description: The id of the client contact.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientContact'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                contactTypeId: string
                endCode: B
                prefix: string
                firstName: string
                lastName: string
                companyName: string
                addressLine1: string
                addressLine2: string
                addressCity: string
                addressPostalCode: string
                addressProvinceCode: string
                addressCountryCode: string
                phoneNumberMain: string
                phoneNumberBusiness: string
                phoneNumberMobile: string
                faxNumberMain: string
                emailAddressMain: string
                emailAddressWork: string
                contactType:
                  name: string
                  code: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
  '/v1/transactions/{transactionId}/tiers/{tierId}/commissions/{commissionId}/fees':
    get:
      tags:
        - Commission Fees
      summary: Get Commission Fees
      operationId: get-v1-transactions-transactionid-tiers-tierid-commissions-commissionid-fees
      parameters:
        - name: transactionId
          in: path
          description: The id of the transaction.
          required: true
          schema:
            type: string
            format: uuid
        - name: tierId
          in: path
          description: The id of the tier.
          required: true
          schema:
            type: string
            format: uuid
        - name: commissionId
          in: path
          description: The id of the commission.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CommissionFee'
              example:
                - id: string
                  createdTimestamp: string
                  modifiedTimestamp: string
                  percentage: 0
                  amount: 0
                  calculationMethodCode: A
                  taxAmount: 0
                  taxPercentage: 0
                  paymentMethodCode: string
                  fee:
                    shortName: string
                    name: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
  '/v1/commission-fees/{id}':
    get:
      tags:
        - Commission Fees
      summary: Get Commission Fee
      operationId: get-v1-commission-fees-id
      parameters:
        - name: id
          in: path
          description: The id of the commission fee.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommissionFee'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                percentage: 0
                amount: 0
                calculationMethodCode: A
                taxAmount: 0
                taxPercentage: 0
                paymentMethodCode: string
                fee:
                  shortName: string
                  name: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
  '/v1/transactions/{transactionId}/tiers/{tierId}/commissions':
    get:
      tags:
        - Commissions
      summary: Get Commissions
      description: |-
        Retrieves the list of commissions for a specific transaction and tier. This will only return the list of commissions to which you have
        access. It may not be the full list of commissions associated with the transaction.
      operationId: get-v1-transactions-transactionid-tiers-tierid-commissions
      parameters:
        - name: transactionId
          in: path
          description: The id of the transaction.
          required: true
          schema:
            type: string
            format: uuid
        - name: tierId
          in: path
          description: The id of the tier.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Commission'
              example:
                - id: string
                  createdTimestamp: string
                  modifiedTimestamp: string
                  agentId: string
                  officeId: string
                  amount: 0
                  percentage: 0
                  endCode: B
                  endCount: 0
                  calculationMethodCode: A
                  taxAmount: 0
                  totalFeeAmount: 0
                  totalFeeTaxAmount: 0
                  fees:
                    - id: string
                      createdTimestamp: string
                      modifiedTimestamp: string
                      percentage: 0
                      amount: 0
                      calculationMethodCode: A
                      taxAmount: 0
                      taxPercentage: 0
                      paymentMethodCode: string
                      fee:
                        shortName: string
                        name: string
                  agent:
                    firstName: string
                    middleName: string
                    lastName: string
                  office:
                    name: string
                    code: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
    post:
      tags:
        - Commissions
      summary: Create Commission
      operationId: post-v1-transactions-transactionid-tiers-tierid-commissions
      parameters:
        - name: transactionId
          in: path
          description: The id of the transaction.
          required: true
          schema:
            type: string
            format: uuid
        - name: tierId
          in: path
          description: The id of the tier.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        description: The commission to create.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Commission'
            example:
              id: string
              createdTimestamp: string
              modifiedTimestamp: string
              agentId: string
              officeId: string
              amount: 0
              percentage: 0
              endCode: B
              endCount: 0
              calculationMethodCode: A
              taxAmount: 0
              totalFeeAmount: 0
              totalFeeTaxAmount: 0
              fees:
                - id: string
                  createdTimestamp: string
                  modifiedTimestamp: string
                  percentage: 0
                  amount: 0
                  calculationMethodCode: A
                  taxAmount: 0
                  taxPercentage: 0
                  paymentMethodCode: string
                  fee:
                    shortName: string
                    name: string
              agent:
                firstName: string
                middleName: string
                lastName: string
              office:
                name: string
                code: string
      responses:
        '200':
          description: OK
        '201':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Commission'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                agentId: string
                officeId: string
                amount: 0
                percentage: 0
                endCode: B
                endCount: 0
                calculationMethodCode: A
                taxAmount: 0
                totalFeeAmount: 0
                totalFeeTaxAmount: 0
                fees:
                  - id: string
                    createdTimestamp: string
                    modifiedTimestamp: string
                    percentage: 0
                    amount: 0
                    calculationMethodCode: A
                    taxAmount: 0
                    taxPercentage: 0
                    paymentMethodCode: string
                    fee:
                      shortName: string
                      name: string
                agent:
                  firstName: string
                  middleName: string
                  lastName: string
                office:
                  name: string
                  code: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '409':
          description: Conflict. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '422':
          description: Validation failed. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
  '/v1/commissions/{id}':
    get:
      tags:
        - Commissions
      summary: Get Commission
      operationId: get-v1-commissions-id
      parameters:
        - name: id
          in: path
          description: The id of the commission.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Commission'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                agentId: string
                officeId: string
                amount: 0
                percentage: 0
                endCode: B
                endCount: 0
                calculationMethodCode: A
                taxAmount: 0
                totalFeeAmount: 0
                totalFeeTaxAmount: 0
                fees:
                  - id: string
                    createdTimestamp: string
                    modifiedTimestamp: string
                    percentage: 0
                    amount: 0
                    calculationMethodCode: A
                    taxAmount: 0
                    taxPercentage: 0
                    paymentMethodCode: string
                    fee:
                      shortName: string
                      name: string
                agent:
                  firstName: string
                  middleName: string
                  lastName: string
                office:
                  name: string
                  code: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
    delete:
      tags:
        - Commissions
      summary: Delete Commission
      operationId: delete-v1-commissions-id
      parameters:
        - name: id
          in: path
          description: ''
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Commission'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                agentId: string
                officeId: string
                amount: 0
                percentage: 0
                endCode: B
                endCount: 0
                calculationMethodCode: A
                taxAmount: 0
                totalFeeAmount: 0
                totalFeeTaxAmount: 0
                fees:
                  - id: string
                    createdTimestamp: string
                    modifiedTimestamp: string
                    percentage: 0
                    amount: 0
                    calculationMethodCode: A
                    taxAmount: 0
                    taxPercentage: 0
                    paymentMethodCode: string
                    fee:
                      shortName: string
                      name: string
                agent:
                  firstName: string
                  middleName: string
                  lastName: string
                office:
                  name: string
                  code: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
    patch:
      tags:
        - Commissions
      summary: Update Commission
      operationId: patch-v1-commissions-id
      parameters:
        - name: id
          in: path
          description: The id of the commission.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        description: The properties of the commission to update.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommissionPatchRequest'
            example:
              agentId: string
              amount: 0
              percentage: 0
              endCode: B
              endCount: 0
              calculationMethodCode: A
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Commission'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                agentId: string
                officeId: string
                amount: 0
                percentage: 0
                endCode: B
                endCount: 0
                calculationMethodCode: A
                taxAmount: 0
                totalFeeAmount: 0
                totalFeeTaxAmount: 0
                fees:
                  - id: string
                    createdTimestamp: string
                    modifiedTimestamp: string
                    percentage: 0
                    amount: 0
                    calculationMethodCode: A
                    taxAmount: 0
                    taxPercentage: 0
                    paymentMethodCode: string
                    fee:
                      shortName: string
                      name: string
                agent:
                  firstName: string
                  middleName: string
                  lastName: string
                office:
                  name: string
                  code: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '422':
          description: Validation failed. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
  /v1/condition-types:
    get:
      tags:
        - Condition Types
      summary: Get Condition Types
      operationId: get-v1-condition-types
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ConditionType'
              example:
                - id: string
                  createdTimestamp: string
                  modifiedTimestamp: string
                  name: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
  '/v1/condition-types/{conditionTypeId}':
    get:
      tags:
        - Condition Types
      summary: Get Condition Type
      operationId: get-v1-condition-types-conditiontypeid
      parameters:
        - name: conditionTypeId
          in: path
          description: The id of the condition type.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConditionType'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                name: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
    patch:
      tags:
        - Condition Types
      summary: Update Condition Type
      operationId: patch-v1-condition-types-conditiontypeid
      parameters:
        - name: conditionTypeId
          in: path
          description: The id of the condition type.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        description: The properties of the condition type to update.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConditionTypePatchRequest'
            example:
              name: string
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConditionType'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                name: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '422':
          description: Validation failed. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
  '/v1/transactions/{transactionId}/conditions':
    get:
      tags:
        - Conditions
      summary: Get Conditions
      operationId: get-v1-transactions-transactionid-conditions
      parameters:
        - name: transactionId
          in: path
          description: The id of the transaction.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Condition'
              example:
                - id: string
                  createdTimestamp: string
                  modifiedTimestamp: string
                  description: string
                  dueDate: string
                  completeDate: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
    post:
      tags:
        - Conditions
      summary: Create Condition
      operationId: post-v1-transactions-transactionid-conditions
      parameters:
        - name: transactionId
          in: path
          description: The id of the transaction.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        description: The condition to create.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Condition'
            example:
              id: string
              createdTimestamp: string
              modifiedTimestamp: string
              description: string
              dueDate: string
              completeDate: string
      responses:
        '200':
          description: OK
        '201':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Condition'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                description: string
                dueDate: string
                completeDate: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '409':
          description: Conflict. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '422':
          description: Validation failed. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
  '/v1/conditions/{conditionId}':
    get:
      tags:
        - Conditions
      summary: Get Condition
      operationId: get-v1-conditions-conditionid
      parameters:
        - name: conditionId
          in: path
          description: The id of the condition.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Condition'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                description: string
                dueDate: string
                completeDate: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
    delete:
      tags:
        - Conditions
      summary: Delete Condition
      operationId: delete-v1-conditions-conditionid
      parameters:
        - name: conditionId
          in: path
          description: The id of the condition.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Condition'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                description: string
                dueDate: string
                completeDate: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
    patch:
      tags:
        - Conditions
      summary: Update Condition
      operationId: patch-v1-conditions-conditionid
      parameters:
        - name: conditionId
          in: path
          description: The id of the condition.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        description: The properties of the condition to update.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConditionPatchRequest'
            example:
              description: string
              dueDate: string
              completeDate: string
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Condition'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                description: string
                dueDate: string
                completeDate: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '422':
          description: Validation failed. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
  /v1/contact-types:
    get:
      tags:
        - Contact Types
      summary: Get Contact Types
      operationId: get-v1-contact-types
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ContactType'
              example:
                - id: string
                  createdTimestamp: string
                  modifiedTimestamp: string
                  name: string
                  code: string
                  inactiveDate: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
  '/v1/contact-types/{contactTypeId}':
    get:
      tags:
        - Contact Types
      summary: Get Contact Type
      operationId: get-v1-contact-types-contacttypeid
      parameters:
        - name: contactTypeId
          in: path
          description: The id of the contact type.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContactType'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                name: string
                code: string
                inactiveDate: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
    patch:
      tags:
        - Contact Types
      summary: Update Contact Type
      operationId: patch-v1-contact-types-contacttypeid
      parameters:
        - name: contactTypeId
          in: path
          description: The id of the contact type.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        description: The properties of the contact type to update.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContactTypePatchRequest'
            example:
              name: string
              inactiveDate: string
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContactType'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                name: string
                code: string
                inactiveDate: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '422':
          description: Validation failed. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
  '/v1/transactions/{transactionId}/deposits':
    post:
      tags:
        - Deposits
      summary: Create Deposit
      operationId: post-v1-transactions-transactionid-deposits
      parameters:
        - name: transactionId
          in: path
          description: The id of the transaction.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        description: The deposit to create.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Deposit'
            example:
              id: string
              createdTimestamp: string
              modifiedTimestamp: string
              date: string
              amount: 0
              received: true
              interest: true
              held: true
              heldBy: string
              direct: true
              reference: string
      responses:
        '200':
          description: OK
        '201':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Deposit'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                date: string
                amount: 0
                received: true
                interest: true
                held: true
                heldBy: string
                direct: true
                reference: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '409':
          description: Conflict. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '422':
          description: Validation failed. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
    get:
      tags:
        - Deposits
      summary: Get Deposits
      operationId: get-v1-transactions-transactionid-deposits
      parameters:
        - name: transactionId
          in: path
          description: The id of the transaction.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Deposit'
              example:
                - id: string
                  createdTimestamp: string
                  modifiedTimestamp: string
                  date: string
                  amount: 0
                  received: true
                  interest: true
                  held: true
                  heldBy: string
                  direct: true
                  reference: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
  '/v1/deposits/{depositId}':
    get:
      tags:
        - Deposits
      summary: Get Deposit
      operationId: get-v1-deposits-depositid
      parameters:
        - name: depositId
          in: path
          description: The id of the deposit.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Deposit'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                date: string
                amount: 0
                received: true
                interest: true
                held: true
                heldBy: string
                direct: true
                reference: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
    delete:
      tags:
        - Deposits
      summary: Delete Deposit
      operationId: delete-v1-deposits-depositid
      parameters:
        - name: depositId
          in: path
          description: The id of the deposit.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Deposit'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                date: string
                amount: 0
                received: true
                interest: true
                held: true
                heldBy: string
                direct: true
                reference: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
    patch:
      tags:
        - Deposits
      summary: Update Deposit
      operationId: patch-v1-deposits-depositid
      parameters:
        - name: depositId
          in: path
          description: The id of the deposit.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        description: The properties of the deposit to update.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DepositPatchRequest'
            example:
              date: string
              amount: 0
              received: true
              interest: true
              held: true
              heldBy: string
              direct: true
              reference: string
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Deposit'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                date: string
                amount: 0
                received: true
                interest: true
                held: true
                heldBy: string
                direct: true
                reference: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '422':
          description: Validation failed. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
  /v1/employees:
    get:
      tags:
        - Employees
      summary: Get Employees
      operationId: get-v1-employees
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Employee'
              example:
                - id: string
                  createdTimestamp: string
                  modifiedTimestamp: string
                  lwaId: string
                  number: string
                  firstName: string
                  middleName: string
                  lastName: string
                  nickname: string
                  officeId: string
                  inactiveDate: string
                  legalName: string
                  addressLine1: string
                  addressCity: string
                  addressProvinceCode: string
                  addressPostalCode: string
                  emailAddressMain: string
                  birthDate: string
                  startDate: string
                  phoneNumberMain: string
                  phoneNumberMobile: string
                  phoneNumberPager: string
                  faxNumberMain: string
                  phoneNumberDirect: string
                  office:
                    name: string
                    code: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
  '/v1/employees/{employeeId}':
    get:
      tags:
        - Employees
      summary: Get Employee
      operationId: get-v1-employees-employeeid
      parameters:
        - name: employeeId
          in: path
          description: The id of the employee.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Employee'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                lwaId: string
                number: string
                firstName: string
                middleName: string
                lastName: string
                nickname: string
                officeId: string
                inactiveDate: string
                legalName: string
                addressLine1: string
                addressCity: string
                addressProvinceCode: string
                addressPostalCode: string
                emailAddressMain: string
                birthDate: string
                startDate: string
                phoneNumberMain: string
                phoneNumberMobile: string
                phoneNumberPager: string
                faxNumberMain: string
                phoneNumberDirect: string
                office:
                  name: string
                  code: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
  '/v1/transactions/{transactionId}/external-agents':
    get:
      tags:
        - External Agents
      summary: Get External Agents
      operationId: get-v1-transactions-transactionid-external-agents
      parameters:
        - name: transactionId
          in: path
          description: The id of the transaction.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ExternalAgent'
              example:
                - id: string
                  createdTimestamp: string
                  modifiedTimestamp: string
                  endCode: B
                  typeCode: B
                  paymentMethodCode: B
                  firstName: string
                  lastName: string
                  companyName: string
                  addressLine1: string
                  addressLine2: string
                  addressCity: string
                  addressPostalCode: string
                  addressProvinceCode: string
                  addressCountryCode: string
                  phoneNumberMain: string
                  phoneNumberBusiness: string
                  faxNumberMain: string
                  emailAddressMain: string
                  emailAddressBusiness: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
    post:
      tags:
        - External Agents
      summary: Create External Agent
      operationId: post-v1-transactions-transactionid-external-agents
      parameters:
        - name: transactionId
          in: path
          description: The id of the transaction.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        description: The external agent to create.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExternalAgent'
            example:
              id: string
              createdTimestamp: string
              modifiedTimestamp: string
              endCode: B
              typeCode: B
              paymentMethodCode: B
              firstName: string
              lastName: string
              companyName: string
              addressLine1: string
              addressLine2: string
              addressCity: string
              addressPostalCode: string
              addressProvinceCode: string
              addressCountryCode: string
              phoneNumberMain: string
              phoneNumberBusiness: string
              faxNumberMain: string
              emailAddressMain: string
              emailAddressBusiness: string
      responses:
        '200':
          description: OK
        '201':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalAgent'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                endCode: B
                typeCode: B
                paymentMethodCode: B
                firstName: string
                lastName: string
                companyName: string
                addressLine1: string
                addressLine2: string
                addressCity: string
                addressPostalCode: string
                addressProvinceCode: string
                addressCountryCode: string
                phoneNumberMain: string
                phoneNumberBusiness: string
                faxNumberMain: string
                emailAddressMain: string
                emailAddressBusiness: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '409':
          description: Conflict. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '422':
          description: Validation failed. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
  '/v1/external-agents/{externalAgentId}':
    get:
      tags:
        - External Agents
      summary: Get External Agent
      operationId: get-v1-external-agents-externalagentid
      parameters:
        - name: externalAgentId
          in: path
          description: The id of the external agent.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalAgent'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                endCode: B
                typeCode: B
                paymentMethodCode: B
                firstName: string
                lastName: string
                companyName: string
                addressLine1: string
                addressLine2: string
                addressCity: string
                addressPostalCode: string
                addressProvinceCode: string
                addressCountryCode: string
                phoneNumberMain: string
                phoneNumberBusiness: string
                faxNumberMain: string
                emailAddressMain: string
                emailAddressBusiness: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
    delete:
      tags:
        - External Agents
      summary: Delete External Agent
      operationId: delete-v1-external-agents-externalagentid
      parameters:
        - name: externalAgentId
          in: path
          description: The id of the external agent.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalAgent'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                endCode: B
                typeCode: B
                paymentMethodCode: B
                firstName: string
                lastName: string
                companyName: string
                addressLine1: string
                addressLine2: string
                addressCity: string
                addressPostalCode: string
                addressProvinceCode: string
                addressCountryCode: string
                phoneNumberMain: string
                phoneNumberBusiness: string
                faxNumberMain: string
                emailAddressMain: string
                emailAddressBusiness: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
    patch:
      tags:
        - External Agents
      summary: Update External Agent
      operationId: patch-v1-external-agents-externalagentid
      parameters:
        - name: externalAgentId
          in: path
          description: The id of the external agent.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        description: The properties of the external agent to update.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExternalAgentPatchRequest'
            example:
              endCode: B
              typeCode: B
              paymentMethodCode: B
              firstName: string
              lastName: string
              companyName: string
              addressLine1: string
              addressLine2: string
              addressCity: string
              addressPostalCode: string
              addressProvinceCode: string
              addressCountryCode: string
              phoneNumberMain: string
              phoneNumberBusiness: string
              faxNumberMain: string
              emailAddressMain: string
              emailAddressBusiness: string
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalAgent'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                endCode: B
                typeCode: B
                paymentMethodCode: B
                firstName: string
                lastName: string
                companyName: string
                addressLine1: string
                addressLine2: string
                addressCity: string
                addressPostalCode: string
                addressProvinceCode: string
                addressCountryCode: string
                phoneNumberMain: string
                phoneNumberBusiness: string
                faxNumberMain: string
                emailAddressMain: string
                emailAddressBusiness: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '422':
          description: Validation failed. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
  '/v1/transactions/{transactionId}/tiers/{tierId}/external-commissions':
    get:
      tags:
        - External Commissions
      summary: Get External Commissions
      operationId: get-v1-transactions-transactionid-tiers-tierid-external-commissions
      parameters:
        - name: transactionId
          in: path
          description: The id of the transaction.
          required: true
          schema:
            type: string
            format: uuid
        - name: tierId
          in: path
          description: The id of the tier.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ExternalCommission'
              example:
                - id: string
                  createdTimestamp: string
                  modifiedTimestamp: string
                  endCode: B
                  percentage: 0
                  amount: 0
                  calculationMethodCode: A
                  paymentMethodCode: B
                  externalAgentId: string
                  externalAgent:
                    id: string
                    createdTimestamp: string
                    modifiedTimestamp: string
                    endCode: B
                    typeCode: B
                    paymentMethodCode: B
                    firstName: string
                    lastName: string
                    companyName: string
                    addressLine1: string
                    addressLine2: string
                    addressCity: string
                    addressPostalCode: string
                    addressProvinceCode: string
                    addressCountryCode: string
                    phoneNumberMain: string
                    phoneNumberBusiness: string
                    faxNumberMain: string
                    emailAddressMain: string
                    emailAddressBusiness: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
    post:
      tags:
        - External Commissions
      summary: Create External Commission
      operationId: post-v1-transactions-transactionid-tiers-tierid-external-commissions
      parameters:
        - name: transactionId
          in: path
          description: The id of the transaction.
          required: true
          schema:
            type: string
            format: uuid
        - name: tierId
          in: path
          description: The id of the tier.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        description: The external commission to create.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExternalCommission'
            example:
              id: string
              createdTimestamp: string
              modifiedTimestamp: string
              endCode: B
              percentage: 0
              amount: 0
              calculationMethodCode: A
              paymentMethodCode: B
              externalAgentId: string
              externalAgent:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                endCode: B
                typeCode: B
                paymentMethodCode: B
                firstName: string
                lastName: string
                companyName: string
                addressLine1: string
                addressLine2: string
                addressCity: string
                addressPostalCode: string
                addressProvinceCode: string
                addressCountryCode: string
                phoneNumberMain: string
                phoneNumberBusiness: string
                faxNumberMain: string
                emailAddressMain: string
                emailAddressBusiness: string
      responses:
        '200':
          description: OK
        '201':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalCommission'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                endCode: B
                percentage: 0
                amount: 0
                calculationMethodCode: A
                paymentMethodCode: B
                externalAgentId: string
                externalAgent:
                  id: string
                  createdTimestamp: string
                  modifiedTimestamp: string
                  endCode: B
                  typeCode: B
                  paymentMethodCode: B
                  firstName: string
                  lastName: string
                  companyName: string
                  addressLine1: string
                  addressLine2: string
                  addressCity: string
                  addressPostalCode: string
                  addressProvinceCode: string
                  addressCountryCode: string
                  phoneNumberMain: string
                  phoneNumberBusiness: string
                  faxNumberMain: string
                  emailAddressMain: string
                  emailAddressBusiness: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '409':
          description: Conflict. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '422':
          description: Validation failed. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
  '/v1/external-commissions/{externalCommissionId}':
    get:
      tags:
        - External Commissions
      summary: Get External Commission
      operationId: get-v1-external-commissions-externalcommissionid
      parameters:
        - name: externalCommissionId
          in: path
          description: The id of the external commission.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalCommission'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                endCode: B
                percentage: 0
                amount: 0
                calculationMethodCode: A
                paymentMethodCode: B
                externalAgentId: string
                externalAgent:
                  id: string
                  createdTimestamp: string
                  modifiedTimestamp: string
                  endCode: B
                  typeCode: B
                  paymentMethodCode: B
                  firstName: string
                  lastName: string
                  companyName: string
                  addressLine1: string
                  addressLine2: string
                  addressCity: string
                  addressPostalCode: string
                  addressProvinceCode: string
                  addressCountryCode: string
                  phoneNumberMain: string
                  phoneNumberBusiness: string
                  faxNumberMain: string
                  emailAddressMain: string
                  emailAddressBusiness: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
    patch:
      tags:
        - External Commissions
      summary: Update External Commission
      operationId: patch-v1-external-commissions-externalcommissionid
      parameters:
        - name: externalCommissionId
          in: path
          description: The id of the external commission.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        description: The properties of the external commission to update.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExternalCommissionPatchRequest'
            example:
              endCode: B
              percentage: 0
              amount: 0
              calculationMethodCode: A
              paymentMethodCode: B
              externalAgentId: string
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalCommission'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                endCode: B
                percentage: 0
                amount: 0
                calculationMethodCode: A
                paymentMethodCode: B
                externalAgentId: string
                externalAgent:
                  id: string
                  createdTimestamp: string
                  modifiedTimestamp: string
                  endCode: B
                  typeCode: B
                  paymentMethodCode: B
                  firstName: string
                  lastName: string
                  companyName: string
                  addressLine1: string
                  addressLine2: string
                  addressCity: string
                  addressPostalCode: string
                  addressProvinceCode: string
                  addressCountryCode: string
                  phoneNumberMain: string
                  phoneNumberBusiness: string
                  faxNumberMain: string
                  emailAddressMain: string
                  emailAddressBusiness: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '422':
          description: Validation failed. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
    delete:
      tags:
        - External Commissions
      summary: Delete External Commission
      operationId: delete-v1-external-commissions-externalcommissionid
      parameters:
        - name: externalCommissionId
          in: path
          description: The id of the external commission.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalCommission'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                endCode: B
                percentage: 0
                amount: 0
                calculationMethodCode: A
                paymentMethodCode: B
                externalAgentId: string
                externalAgent:
                  id: string
                  createdTimestamp: string
                  modifiedTimestamp: string
                  endCode: B
                  typeCode: B
                  paymentMethodCode: B
                  firstName: string
                  lastName: string
                  companyName: string
                  addressLine1: string
                  addressLine2: string
                  addressCity: string
                  addressPostalCode: string
                  addressProvinceCode: string
                  addressCountryCode: string
                  phoneNumberMain: string
                  phoneNumberBusiness: string
                  faxNumberMain: string
                  emailAddressMain: string
                  emailAddressBusiness: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
  /v1/features:
    get:
      tags:
        - Features
      summary: Get Features
      operationId: get-v1-features
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Feature'
              example:
                - id: string
                  createdTimestamp: string
                  modifiedTimestamp: string
                  code: string
                  enabled: true
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
  '/v1/features/{featureId}':
    get:
      tags:
        - Features
      summary: Get Feature
      operationId: get-v1-features-featureid
      parameters:
        - name: featureId
          in: path
          description: The id of the feature.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Feature'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                code: string
                enabled: true
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
    patch:
      tags:
        - Features
      summary: Update Feature
      operationId: patch-v1-features-featureid
      parameters:
        - name: featureId
          in: path
          description: The id of the feature.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        description: The properties of the feature to update.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FeaturePatchRequest'
            example:
              enabled: true
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Feature'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                code: string
                enabled: true
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '422':
          description: Validation failed. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
  /v1/offices:
    get:
      tags:
        - Offices
      summary: Get Offices
      operationId: get-v1-offices
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Office'
              example:
                - id: string
                  createdTimestamp: string
                  modifiedTimestamp: string
                  name: string
                  shortName: string
                  inactiveDate: string
                  addressCity: string
                  addressProvinceCode: string
                  addressPostalCode: string
                  code: string
                  startDate: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
  '/v1/offices/{officeId}':
    get:
      tags:
        - Offices
      summary: Get Office
      description: Get Office
      operationId: get-v1-offices-officeid
      parameters:
        - name: officeId
          in: path
          description: The id of the office.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Office'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                name: string
                shortName: string
                inactiveDate: string
                addressCity: string
                addressProvinceCode: string
                addressPostalCode: string
                code: string
                startDate: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
  /v1/property-types:
    get:
      tags:
        - Property Types
      summary: Get Property Types
      operationId: get-v1-property-types
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PropertyType'
              example:
                - id: string
                  createdTimestamp: string
                  modifiedTimestamp: string
                  name: string
                  shortName: string
                  code: string
                  classCode: C
                  rental: true
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
  '/v1/property-types/{propertyTypeId}':
    get:
      tags:
        - Property Types
      summary: Get Property Type
      operationId: get-v1-property-types-propertytypeid
      parameters:
        - name: propertyTypeId
          in: path
          description: The id of the property type.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PropertyType'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                name: string
                shortName: string
                code: string
                classCode: C
                rental: true
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
    patch:
      tags:
        - Property Types
      summary: Update Property Type
      description: Update Property Type
      operationId: patch-v1-property-types-propertytypeid
      parameters:
        - name: propertyTypeId
          in: path
          description: The id of the property type.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        description: The properties on the property type to update.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PropertyTypePatchRequest'
            example:
              name: string
              shortName: string
              rental: true
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PropertyType'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                name: string
                shortName: string
                code: string
                classCode: C
                rental: true
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '422':
          description: Validation failed. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
  /v1/sources-of-business:
    get:
      tags:
        - Sources of Business
      summary: Get Sources of Business
      operationId: get-v1-sources-of-business
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SourceOfBusiness'
              example:
                - id: string
                  createdTimestamp: string
                  modifiedTimestamp: string
                  name: string
                  code: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
  '/v1/sources-of-business/{sourceOfBusinessId}':
    get:
      tags:
        - Sources of Business
      summary: Get Source of Business
      operationId: get-v1-sources-of-business-sourceofbusinessid
      parameters:
        - name: sourceOfBusinessId
          in: path
          description: The id of the source of business.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SourceOfBusiness'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                name: string
                code: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
    patch:
      tags:
        - Sources of Business
      summary: Update Source of Business
      description: Update Source of Business
      operationId: patch-v1-sources-of-business-sourceofbusinessid
      parameters:
        - name: sourceOfBusinessId
          in: path
          description: The id of the source of business.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        description: The properties of the source of business to update.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SourceOfBusinessPatchRequest'
            example:
              name: string
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SourceOfBusiness'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                name: string
                code: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '422':
          description: Validation failed. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
  '/v1/transactions/{transactionId}/tiers':
    get:
      tags:
        - Tiers
      summary: Get Tiers
      operationId: get-v1-transactions-transactionid-tiers
      parameters:
        - name: transactionId
          in: path
          description: The id of the transaction.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Tier'
              example:
                - id: string
                  createdTimestamp: string
                  modifiedTimestamp: string
                  name: string
                  closePrice: 0
                  closeDate: string
                  statusCode: C
                  classificationId: string
                  sellingCommissionAmount: 0
                  sellingCommissionPercentage: 0
                  sellingCommissionCalculationMethodCode: A
                  buyingCommissionAmount: 0
                  buyingCommissionPercentage: 0
                  buyingCommissionCalculationMethodCode: A
                  classification:
                    name: string
                    code: string
                    endCount: 0
                    endTypeCode: B
                  commissions:
                    - id: string
                      createdTimestamp: string
                      modifiedTimestamp: string
                      agentId: string
                      officeId: string
                      amount: 0
                      percentage: 0
                      endCode: B
                      endCount: 0
                      calculationMethodCode: A
                      taxAmount: 0
                      totalFeeAmount: 0
                      totalFeeTaxAmount: 0
                      fees:
                        - id: string
                          createdTimestamp: string
                          modifiedTimestamp: string
                          percentage: 0
                          amount: 0
                          calculationMethodCode: A
                          taxAmount: 0
                          taxPercentage: 0
                          paymentMethodCode: string
                          fee:
                            shortName: string
                            name: string
                      agent:
                        firstName: string
                        middleName: string
                        lastName: string
                      office:
                        name: string
                        code: string
                  externalCommissions:
                    - id: string
                      createdTimestamp: string
                      modifiedTimestamp: string
                      endCode: B
                      percentage: 0
                      amount: 0
                      calculationMethodCode: A
                      paymentMethodCode: B
                      externalAgentId: string
                      externalAgent:
                        id: string
                        createdTimestamp: string
                        modifiedTimestamp: string
                        endCode: B
                        typeCode: B
                        paymentMethodCode: B
                        firstName: string
                        lastName: string
                        companyName: string
                        addressLine1: string
                        addressLine2: string
                        addressCity: string
                        addressPostalCode: string
                        addressProvinceCode: string
                        addressCountryCode: string
                        phoneNumberMain: string
                        phoneNumberBusiness: string
                        faxNumberMain: string
                        emailAddressMain: string
                        emailAddressBusiness: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
    post:
      tags:
        - Tiers
      summary: Create Tier
      operationId: post-v1-transactions-transactionid-tiers
      parameters:
        - name: transactionId
          in: path
          description: The id of the transaction.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        description: The tier to create.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Tier'
            example:
              id: string
              createdTimestamp: string
              modifiedTimestamp: string
              name: string
              closePrice: 0
              closeDate: string
              statusCode: C
              classificationId: string
              sellingCommissionAmount: 0
              sellingCommissionPercentage: 0
              sellingCommissionCalculationMethodCode: A
              buyingCommissionAmount: 0
              buyingCommissionPercentage: 0
              buyingCommissionCalculationMethodCode: A
              classification:
                name: string
                code: string
                endCount: 0
                endTypeCode: B
              commissions:
                - id: string
                  createdTimestamp: string
                  modifiedTimestamp: string
                  agentId: string
                  officeId: string
                  amount: 0
                  percentage: 0
                  endCode: B
                  endCount: 0
                  calculationMethodCode: A
                  taxAmount: 0
                  totalFeeAmount: 0
                  totalFeeTaxAmount: 0
                  fees:
                    - id: string
                      createdTimestamp: string
                      modifiedTimestamp: string
                      percentage: 0
                      amount: 0
                      calculationMethodCode: A
                      taxAmount: 0
                      taxPercentage: 0
                      paymentMethodCode: string
                      fee:
                        shortName: string
                        name: string
                  agent:
                    firstName: string
                    middleName: string
                    lastName: string
                  office:
                    name: string
                    code: string
              externalCommissions:
                - id: string
                  createdTimestamp: string
                  modifiedTimestamp: string
                  endCode: B
                  percentage: 0
                  amount: 0
                  calculationMethodCode: A
                  paymentMethodCode: B
                  externalAgentId: string
                  externalAgent:
                    id: string
                    createdTimestamp: string
                    modifiedTimestamp: string
                    endCode: B
                    typeCode: B
                    paymentMethodCode: B
                    firstName: string
                    lastName: string
                    companyName: string
                    addressLine1: string
                    addressLine2: string
                    addressCity: string
                    addressPostalCode: string
                    addressProvinceCode: string
                    addressCountryCode: string
                    phoneNumberMain: string
                    phoneNumberBusiness: string
                    faxNumberMain: string
                    emailAddressMain: string
                    emailAddressBusiness: string
      responses:
        '200':
          description: OK
        '201':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Tier'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                name: string
                closePrice: 0
                closeDate: string
                statusCode: C
                classificationId: string
                sellingCommissionAmount: 0
                sellingCommissionPercentage: 0
                sellingCommissionCalculationMethodCode: A
                buyingCommissionAmount: 0
                buyingCommissionPercentage: 0
                buyingCommissionCalculationMethodCode: A
                classification:
                  name: string
                  code: string
                  endCount: 0
                  endTypeCode: B
                commissions:
                  - id: string
                    createdTimestamp: string
                    modifiedTimestamp: string
                    agentId: string
                    officeId: string
                    amount: 0
                    percentage: 0
                    endCode: B
                    endCount: 0
                    calculationMethodCode: A
                    taxAmount: 0
                    totalFeeAmount: 0
                    totalFeeTaxAmount: 0
                    fees:
                      - id: string
                        createdTimestamp: string
                        modifiedTimestamp: string
                        percentage: 0
                        amount: 0
                        calculationMethodCode: A
                        taxAmount: 0
                        taxPercentage: 0
                        paymentMethodCode: string
                        fee:
                          shortName: string
                          name: string
                    agent:
                      firstName: string
                      middleName: string
                      lastName: string
                    office:
                      name: string
                      code: string
                externalCommissions:
                  - id: string
                    createdTimestamp: string
                    modifiedTimestamp: string
                    endCode: B
                    percentage: 0
                    amount: 0
                    calculationMethodCode: A
                    paymentMethodCode: B
                    externalAgentId: string
                    externalAgent:
                      id: string
                      createdTimestamp: string
                      modifiedTimestamp: string
                      endCode: B
                      typeCode: B
                      paymentMethodCode: B
                      firstName: string
                      lastName: string
                      companyName: string
                      addressLine1: string
                      addressLine2: string
                      addressCity: string
                      addressPostalCode: string
                      addressProvinceCode: string
                      addressCountryCode: string
                      phoneNumberMain: string
                      phoneNumberBusiness: string
                      faxNumberMain: string
                      emailAddressMain: string
                      emailAddressBusiness: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '409':
          description: Conflict. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '422':
          description: Validation failed. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
  '/v1/tiers/{tierId}':
    get:
      tags:
        - Tiers
      summary: Get Tier
      operationId: get-v1-tiers-tierid
      parameters:
        - name: tierId
          in: path
          description: The id of the tier.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Tier'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                name: string
                closePrice: 0
                closeDate: string
                statusCode: C
                classificationId: string
                sellingCommissionAmount: 0
                sellingCommissionPercentage: 0
                sellingCommissionCalculationMethodCode: A
                buyingCommissionAmount: 0
                buyingCommissionPercentage: 0
                buyingCommissionCalculationMethodCode: A
                classification:
                  name: string
                  code: string
                  endCount: 0
                  endTypeCode: B
                commissions:
                  - id: string
                    createdTimestamp: string
                    modifiedTimestamp: string
                    agentId: string
                    officeId: string
                    amount: 0
                    percentage: 0
                    endCode: B
                    endCount: 0
                    calculationMethodCode: A
                    taxAmount: 0
                    totalFeeAmount: 0
                    totalFeeTaxAmount: 0
                    fees:
                      - id: string
                        createdTimestamp: string
                        modifiedTimestamp: string
                        percentage: 0
                        amount: 0
                        calculationMethodCode: A
                        taxAmount: 0
                        taxPercentage: 0
                        paymentMethodCode: string
                        fee:
                          shortName: string
                          name: string
                    agent:
                      firstName: string
                      middleName: string
                      lastName: string
                    office:
                      name: string
                      code: string
                externalCommissions:
                  - id: string
                    createdTimestamp: string
                    modifiedTimestamp: string
                    endCode: B
                    percentage: 0
                    amount: 0
                    calculationMethodCode: A
                    paymentMethodCode: B
                    externalAgentId: string
                    externalAgent:
                      id: string
                      createdTimestamp: string
                      modifiedTimestamp: string
                      endCode: B
                      typeCode: B
                      paymentMethodCode: B
                      firstName: string
                      lastName: string
                      companyName: string
                      addressLine1: string
                      addressLine2: string
                      addressCity: string
                      addressPostalCode: string
                      addressProvinceCode: string
                      addressCountryCode: string
                      phoneNumberMain: string
                      phoneNumberBusiness: string
                      faxNumberMain: string
                      emailAddressMain: string
                      emailAddressBusiness: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
    patch:
      tags:
        - Tiers
      summary: Update Tier
      operationId: patch-v1-tiers-tierid
      parameters:
        - name: tierId
          in: path
          description: The id of the tier.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        description: The properties of the tier to update.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TierPatchRequest'
            example:
              name: string
              closePrice: 0
              closeDate: string
              statusCode: C
              classificationId: string
              sellingCommissionAmount: 0
              sellingCommissionPercentage: 0
              sellingCommissionCalculationMethodCode: A
              buyingCommissionAmount: 0
              buyingCommissionPercentage: 0
              buyingCommissionCalculationMethodCode: A
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Tier'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                name: string
                closePrice: 0
                closeDate: string
                statusCode: C
                classificationId: string
                sellingCommissionAmount: 0
                sellingCommissionPercentage: 0
                sellingCommissionCalculationMethodCode: A
                buyingCommissionAmount: 0
                buyingCommissionPercentage: 0
                buyingCommissionCalculationMethodCode: A
                classification:
                  name: string
                  code: string
                  endCount: 0
                  endTypeCode: B
                commissions:
                  - id: string
                    createdTimestamp: string
                    modifiedTimestamp: string
                    agentId: string
                    officeId: string
                    amount: 0
                    percentage: 0
                    endCode: B
                    endCount: 0
                    calculationMethodCode: A
                    taxAmount: 0
                    totalFeeAmount: 0
                    totalFeeTaxAmount: 0
                    fees:
                      - id: string
                        createdTimestamp: string
                        modifiedTimestamp: string
                        percentage: 0
                        amount: 0
                        calculationMethodCode: A
                        taxAmount: 0
                        taxPercentage: 0
                        paymentMethodCode: string
                        fee:
                          shortName: string
                          name: string
                    agent:
                      firstName: string
                      middleName: string
                      lastName: string
                    office:
                      name: string
                      code: string
                externalCommissions:
                  - id: string
                    createdTimestamp: string
                    modifiedTimestamp: string
                    endCode: B
                    percentage: 0
                    amount: 0
                    calculationMethodCode: A
                    paymentMethodCode: B
                    externalAgentId: string
                    externalAgent:
                      id: string
                      createdTimestamp: string
                      modifiedTimestamp: string
                      endCode: B
                      typeCode: B
                      paymentMethodCode: B
                      firstName: string
                      lastName: string
                      companyName: string
                      addressLine1: string
                      addressLine2: string
                      addressCity: string
                      addressPostalCode: string
                      addressProvinceCode: string
                      addressCountryCode: string
                      phoneNumberMain: string
                      phoneNumberBusiness: string
                      faxNumberMain: string
                      emailAddressMain: string
                      emailAddressBusiness: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '422':
          description: Validation failed. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
  /v1/tiers/calculate-tier:
    post:
      tags:
        - Tiers
      summary: Calculate Tier
      description: |-
        Calculates the commissions and fees for a tier. No data is saved during this call and the only data that is
        used in the calculations is the data that is passed in the tier object.
      operationId: post-v1-tiers-calculate-tier
      requestBody:
        description: The tier object holding all the data to use in the calculation.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Tier'
            example:
              id: string
              createdTimestamp: string
              modifiedTimestamp: string
              name: string
              closePrice: 0
              closeDate: string
              statusCode: C
              classificationId: string
              sellingCommissionAmount: 0
              sellingCommissionPercentage: 0
              sellingCommissionCalculationMethodCode: A
              buyingCommissionAmount: 0
              buyingCommissionPercentage: 0
              buyingCommissionCalculationMethodCode: A
              classification:
                name: string
                code: string
                endCount: 0
                endTypeCode: B
              commissions:
                - id: string
                  createdTimestamp: string
                  modifiedTimestamp: string
                  agentId: string
                  officeId: string
                  amount: 0
                  percentage: 0
                  endCode: B
                  endCount: 0
                  calculationMethodCode: A
                  taxAmount: 0
                  totalFeeAmount: 0
                  totalFeeTaxAmount: 0
                  fees:
                    - id: string
                      createdTimestamp: string
                      modifiedTimestamp: string
                      percentage: 0
                      amount: 0
                      calculationMethodCode: A
                      taxAmount: 0
                      taxPercentage: 0
                      paymentMethodCode: string
                      fee:
                        shortName: string
                        name: string
                  agent:
                    firstName: string
                    middleName: string
                    lastName: string
                  office:
                    name: string
                    code: string
              externalCommissions:
                - id: string
                  createdTimestamp: string
                  modifiedTimestamp: string
                  endCode: B
                  percentage: 0
                  amount: 0
                  calculationMethodCode: A
                  paymentMethodCode: B
                  externalAgentId: string
                  externalAgent:
                    id: string
                    createdTimestamp: string
                    modifiedTimestamp: string
                    endCode: B
                    typeCode: B
                    paymentMethodCode: B
                    firstName: string
                    lastName: string
                    companyName: string
                    addressLine1: string
                    addressLine2: string
                    addressCity: string
                    addressPostalCode: string
                    addressProvinceCode: string
                    addressCountryCode: string
                    phoneNumberMain: string
                    phoneNumberBusiness: string
                    faxNumberMain: string
                    emailAddressMain: string
                    emailAddressBusiness: string
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Tier'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                name: string
                closePrice: 0
                closeDate: string
                statusCode: C
                classificationId: string
                sellingCommissionAmount: 0
                sellingCommissionPercentage: 0
                sellingCommissionCalculationMethodCode: A
                buyingCommissionAmount: 0
                buyingCommissionPercentage: 0
                buyingCommissionCalculationMethodCode: A
                classification:
                  name: string
                  code: string
                  endCount: 0
                  endTypeCode: B
                commissions:
                  - id: string
                    createdTimestamp: string
                    modifiedTimestamp: string
                    agentId: string
                    officeId: string
                    amount: 0
                    percentage: 0
                    endCode: B
                    endCount: 0
                    calculationMethodCode: A
                    taxAmount: 0
                    totalFeeAmount: 0
                    totalFeeTaxAmount: 0
                    fees:
                      - id: string
                        createdTimestamp: string
                        modifiedTimestamp: string
                        percentage: 0
                        amount: 0
                        calculationMethodCode: A
                        taxAmount: 0
                        taxPercentage: 0
                        paymentMethodCode: string
                        fee:
                          shortName: string
                          name: string
                    agent:
                      firstName: string
                      middleName: string
                      lastName: string
                    office:
                      name: string
                      code: string
                externalCommissions:
                  - id: string
                    createdTimestamp: string
                    modifiedTimestamp: string
                    endCode: B
                    percentage: 0
                    amount: 0
                    calculationMethodCode: A
                    paymentMethodCode: B
                    externalAgentId: string
                    externalAgent:
                      id: string
                      createdTimestamp: string
                      modifiedTimestamp: string
                      endCode: B
                      typeCode: B
                      paymentMethodCode: B
                      firstName: string
                      lastName: string
                      companyName: string
                      addressLine1: string
                      addressLine2: string
                      addressCity: string
                      addressPostalCode: string
                      addressProvinceCode: string
                      addressCountryCode: string
                      phoneNumberMain: string
                      phoneNumberBusiness: string
                      faxNumberMain: string
                      emailAddressMain: string
                      emailAddressBusiness: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '422':
          description: Validation failed. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
  /v1/transactions:
    get:
      tags:
        - Transactions
      summary: Get Transactions
      operationId: get-v1-transactions
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Transaction'
              example:
                - id: string
                  createdTimestamp: string
                  modifiedTimestamp: string
                  number: string
                  mlsNumber: string
                  statusCode: C
                  addressStreetNumber: string
                  addressStreetName: string
                  addressStreetDirection: string
                  addressUnitNumber: string
                  addressCity: string
                  addressProvinceCode: string
                  addressPostalCode: string
                  offerDate: string
                  closeDate: string
                  entryDate: string
                  firmDate: string
                  finalizeDate: string
                  legalDescription: string
                  closePrice: 0
                  classificationId: string
                  propertyTypeId: string
                  classification:
                    name: string
                    code: string
                    endCount: 0
                    endTypeCode: B
                  propertyType:
                    name: string
                    shortName: string
                    code: string
                    classCode: C
                    rental: true
                  conditions:
                    - id: string
                      createdTimestamp: string
                      modifiedTimestamp: string
                      description: string
                      dueDate: string
                      completeDate: string
                  deposits:
                    - id: string
                      createdTimestamp: string
                      modifiedTimestamp: string
                      date: string
                      amount: 0
                      received: true
                      interest: true
                      held: true
                      heldBy: string
                      direct: true
                      reference: string
                  tiers:
                    - id: string
                      createdTimestamp: string
                      modifiedTimestamp: string
                      name: string
                      closePrice: 0
                      closeDate: string
                      statusCode: C
                      classificationId: string
                      sellingCommissionAmount: 0
                      sellingCommissionPercentage: 0
                      sellingCommissionCalculationMethodCode: A
                      buyingCommissionAmount: 0
                      buyingCommissionPercentage: 0
                      buyingCommissionCalculationMethodCode: A
                      classification:
                        name: string
                        code: string
                        endCount: 0
                        endTypeCode: B
                      commissions:
                        - id: string
                          createdTimestamp: string
                          modifiedTimestamp: string
                          agentId: string
                          officeId: string
                          amount: 0
                          percentage: 0
                          endCode: B
                          endCount: 0
                          calculationMethodCode: A
                          taxAmount: 0
                          totalFeeAmount: 0
                          totalFeeTaxAmount: 0
                          fees:
                            - id: string
                              createdTimestamp: string
                              modifiedTimestamp: string
                              percentage: 0
                              amount: 0
                              calculationMethodCode: A
                              taxAmount: 0
                              taxPercentage: 0
                              paymentMethodCode: string
                              fee:
                                shortName: string
                                name: string
                          agent:
                            firstName: string
                            middleName: string
                            lastName: string
                          office:
                            name: string
                            code: string
                      externalCommissions:
                        - id: string
                          createdTimestamp: string
                          modifiedTimestamp: string
                          endCode: B
                          percentage: 0
                          amount: 0
                          calculationMethodCode: A
                          paymentMethodCode: B
                          externalAgentId: string
                          externalAgent:
                            id: string
                            createdTimestamp: string
                            modifiedTimestamp: string
                            endCode: B
                            typeCode: B
                            paymentMethodCode: B
                            firstName: string
                            lastName: string
                            companyName: string
                            addressLine1: string
                            addressLine2: string
                            addressCity: string
                            addressPostalCode: string
                            addressProvinceCode: string
                            addressCountryCode: string
                            phoneNumberMain: string
                            phoneNumberBusiness: string
                            faxNumberMain: string
                            emailAddressMain: string
                            emailAddressBusiness: string
                  externalAgents:
                    - id: string
                      createdTimestamp: string
                      modifiedTimestamp: string
                      endCode: B
                      typeCode: B
                      paymentMethodCode: B
                      firstName: string
                      lastName: string
                      companyName: string
                      addressLine1: string
                      addressLine2: string
                      addressCity: string
                      addressPostalCode: string
                      addressProvinceCode: string
                      addressCountryCode: string
                      phoneNumberMain: string
                      phoneNumberBusiness: string
                      faxNumberMain: string
                      emailAddressMain: string
                      emailAddressBusiness: string
                  clientContacts:
                    - id: string
                      createdTimestamp: string
                      modifiedTimestamp: string
                      contactTypeId: string
                      endCode: B
                      prefix: string
                      firstName: string
                      lastName: string
                      companyName: string
                      addressLine1: string
                      addressLine2: string
                      addressCity: string
                      addressPostalCode: string
                      addressProvinceCode: string
                      addressCountryCode: string
                      phoneNumberMain: string
                      phoneNumberBusiness: string
                      phoneNumberMobile: string
                      faxNumberMain: string
                      emailAddressMain: string
                      emailAddressWork: string
                      contactType:
                        name: string
                        code: string
                  businessContacts:
                    - id: string
                      createdTimestamp: string
                      modifiedTimestamp: string
                      contactTypeId: string
                      endCode: B
                      prefix: string
                      firstName: string
                      lastName: string
                      companyName: string
                      addressLine1: string
                      addressLine2: string
                      addressCity: string
                      addressPostalCode: string
                      addressProvinceCode: string
                      addressCountryCode: string
                      phoneNumberMain: string
                      phoneNumberBusiness: string
                      phoneNumberMobile: string
                      faxNumberMain: string
                      emailAddressMain: string
                      emailAddressWork: string
                      contactType:
                        name: string
                        code: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
    post:
      tags:
        - Transactions
      summary: Create Transaction
      operationId: post-v1-transactions
      requestBody:
        description: The transaction to create.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Transaction'
            example:
              id: string
              createdTimestamp: string
              modifiedTimestamp: string
              number: string
              mlsNumber: string
              statusCode: C
              addressStreetNumber: string
              addressStreetName: string
              addressStreetDirection: string
              addressUnitNumber: string
              addressCity: string
              addressProvinceCode: string
              addressPostalCode: string
              offerDate: string
              closeDate: string
              entryDate: string
              firmDate: string
              finalizeDate: string
              legalDescription: string
              closePrice: 0
              classificationId: string
              propertyTypeId: string
              classification:
                name: string
                code: string
                endCount: 0
                endTypeCode: B
              propertyType:
                name: string
                shortName: string
                code: string
                classCode: C
                rental: true
              conditions:
                - id: string
                  createdTimestamp: string
                  modifiedTimestamp: string
                  description: string
                  dueDate: string
                  completeDate: string
              deposits:
                - id: string
                  createdTimestamp: string
                  modifiedTimestamp: string
                  date: string
                  amount: 0
                  received: true
                  interest: true
                  held: true
                  heldBy: string
                  direct: true
                  reference: string
              tiers:
                - id: string
                  createdTimestamp: string
                  modifiedTimestamp: string
                  name: string
                  closePrice: 0
                  closeDate: string
                  statusCode: C
                  classificationId: string
                  sellingCommissionAmount: 0
                  sellingCommissionPercentage: 0
                  sellingCommissionCalculationMethodCode: A
                  buyingCommissionAmount: 0
                  buyingCommissionPercentage: 0
                  buyingCommissionCalculationMethodCode: A
                  classification:
                    name: string
                    code: string
                    endCount: 0
                    endTypeCode: B
                  commissions:
                    - id: string
                      createdTimestamp: string
                      modifiedTimestamp: string
                      agentId: string
                      officeId: string
                      amount: 0
                      percentage: 0
                      endCode: B
                      endCount: 0
                      calculationMethodCode: A
                      taxAmount: 0
                      totalFeeAmount: 0
                      totalFeeTaxAmount: 0
                      fees:
                        - id: string
                          createdTimestamp: string
                          modifiedTimestamp: string
                          percentage: 0
                          amount: 0
                          calculationMethodCode: A
                          taxAmount: 0
                          taxPercentage: 0
                          paymentMethodCode: string
                          fee:
                            shortName: string
                            name: string
                      agent:
                        firstName: string
                        middleName: string
                        lastName: string
                      office:
                        name: string
                        code: string
                  externalCommissions:
                    - id: string
                      createdTimestamp: string
                      modifiedTimestamp: string
                      endCode: B
                      percentage: 0
                      amount: 0
                      calculationMethodCode: A
                      paymentMethodCode: B
                      externalAgentId: string
                      externalAgent:
                        id: string
                        createdTimestamp: string
                        modifiedTimestamp: string
                        endCode: B
                        typeCode: B
                        paymentMethodCode: B
                        firstName: string
                        lastName: string
                        companyName: string
                        addressLine1: string
                        addressLine2: string
                        addressCity: string
                        addressPostalCode: string
                        addressProvinceCode: string
                        addressCountryCode: string
                        phoneNumberMain: string
                        phoneNumberBusiness: string
                        faxNumberMain: string
                        emailAddressMain: string
                        emailAddressBusiness: string
              externalAgents:
                - id: string
                  createdTimestamp: string
                  modifiedTimestamp: string
                  endCode: B
                  typeCode: B
                  paymentMethodCode: B
                  firstName: string
                  lastName: string
                  companyName: string
                  addressLine1: string
                  addressLine2: string
                  addressCity: string
                  addressPostalCode: string
                  addressProvinceCode: string
                  addressCountryCode: string
                  phoneNumberMain: string
                  phoneNumberBusiness: string
                  faxNumberMain: string
                  emailAddressMain: string
                  emailAddressBusiness: string
              clientContacts:
                - id: string
                  createdTimestamp: string
                  modifiedTimestamp: string
                  contactTypeId: string
                  endCode: B
                  prefix: string
                  firstName: string
                  lastName: string
                  companyName: string
                  addressLine1: string
                  addressLine2: string
                  addressCity: string
                  addressPostalCode: string
                  addressProvinceCode: string
                  addressCountryCode: string
                  phoneNumberMain: string
                  phoneNumberBusiness: string
                  phoneNumberMobile: string
                  faxNumberMain: string
                  emailAddressMain: string
                  emailAddressWork: string
                  contactType:
                    name: string
                    code: string
              businessContacts:
                - id: string
                  createdTimestamp: string
                  modifiedTimestamp: string
                  contactTypeId: string
                  endCode: B
                  prefix: string
                  firstName: string
                  lastName: string
                  companyName: string
                  addressLine1: string
                  addressLine2: string
                  addressCity: string
                  addressPostalCode: string
                  addressProvinceCode: string
                  addressCountryCode: string
                  phoneNumberMain: string
                  phoneNumberBusiness: string
                  phoneNumberMobile: string
                  faxNumberMain: string
                  emailAddressMain: string
                  emailAddressWork: string
                  contactType:
                    name: string
                    code: string
      responses:
        '200':
          description: OK
        '201':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Transaction'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                number: string
                mlsNumber: string
                statusCode: C
                addressStreetNumber: string
                addressStreetName: string
                addressStreetDirection: string
                addressUnitNumber: string
                addressCity: string
                addressProvinceCode: string
                addressPostalCode: string
                offerDate: string
                closeDate: string
                entryDate: string
                firmDate: string
                finalizeDate: string
                legalDescription: string
                closePrice: 0
                classificationId: string
                propertyTypeId: string
                classification:
                  name: string
                  code: string
                  endCount: 0
                  endTypeCode: B
                propertyType:
                  name: string
                  shortName: string
                  code: string
                  classCode: C
                  rental: true
                conditions:
                  - id: string
                    createdTimestamp: string
                    modifiedTimestamp: string
                    description: string
                    dueDate: string
                    completeDate: string
                deposits:
                  - id: string
                    createdTimestamp: string
                    modifiedTimestamp: string
                    date: string
                    amount: 0
                    received: true
                    interest: true
                    held: true
                    heldBy: string
                    direct: true
                    reference: string
                tiers:
                  - id: string
                    createdTimestamp: string
                    modifiedTimestamp: string
                    name: string
                    closePrice: 0
                    closeDate: string
                    statusCode: C
                    classificationId: string
                    sellingCommissionAmount: 0
                    sellingCommissionPercentage: 0
                    sellingCommissionCalculationMethodCode: A
                    buyingCommissionAmount: 0
                    buyingCommissionPercentage: 0
                    buyingCommissionCalculationMethodCode: A
                    classification:
                      name: string
                      code: string
                      endCount: 0
                      endTypeCode: B
                    commissions:
                      - id: string
                        createdTimestamp: string
                        modifiedTimestamp: string
                        agentId: string
                        officeId: string
                        amount: 0
                        percentage: 0
                        endCode: B
                        endCount: 0
                        calculationMethodCode: A
                        taxAmount: 0
                        totalFeeAmount: 0
                        totalFeeTaxAmount: 0
                        fees:
                          - id: string
                            createdTimestamp: string
                            modifiedTimestamp: string
                            percentage: 0
                            amount: 0
                            calculationMethodCode: A
                            taxAmount: 0
                            taxPercentage: 0
                            paymentMethodCode: string
                            fee:
                              shortName: string
                              name: string
                        agent:
                          firstName: string
                          middleName: string
                          lastName: string
                        office:
                          name: string
                          code: string
                    externalCommissions:
                      - id: string
                        createdTimestamp: string
                        modifiedTimestamp: string
                        endCode: B
                        percentage: 0
                        amount: 0
                        calculationMethodCode: A
                        paymentMethodCode: B
                        externalAgentId: string
                        externalAgent:
                          id: string
                          createdTimestamp: string
                          modifiedTimestamp: string
                          endCode: B
                          typeCode: B
                          paymentMethodCode: B
                          firstName: string
                          lastName: string
                          companyName: string
                          addressLine1: string
                          addressLine2: string
                          addressCity: string
                          addressPostalCode: string
                          addressProvinceCode: string
                          addressCountryCode: string
                          phoneNumberMain: string
                          phoneNumberBusiness: string
                          faxNumberMain: string
                          emailAddressMain: string
                          emailAddressBusiness: string
                externalAgents:
                  - id: string
                    createdTimestamp: string
                    modifiedTimestamp: string
                    endCode: B
                    typeCode: B
                    paymentMethodCode: B
                    firstName: string
                    lastName: string
                    companyName: string
                    addressLine1: string
                    addressLine2: string
                    addressCity: string
                    addressPostalCode: string
                    addressProvinceCode: string
                    addressCountryCode: string
                    phoneNumberMain: string
                    phoneNumberBusiness: string
                    faxNumberMain: string
                    emailAddressMain: string
                    emailAddressBusiness: string
                clientContacts:
                  - id: string
                    createdTimestamp: string
                    modifiedTimestamp: string
                    contactTypeId: string
                    endCode: B
                    prefix: string
                    firstName: string
                    lastName: string
                    companyName: string
                    addressLine1: string
                    addressLine2: string
                    addressCity: string
                    addressPostalCode: string
                    addressProvinceCode: string
                    addressCountryCode: string
                    phoneNumberMain: string
                    phoneNumberBusiness: string
                    phoneNumberMobile: string
                    faxNumberMain: string
                    emailAddressMain: string
                    emailAddressWork: string
                    contactType:
                      name: string
                      code: string
                businessContacts:
                  - id: string
                    createdTimestamp: string
                    modifiedTimestamp: string
                    contactTypeId: string
                    endCode: B
                    prefix: string
                    firstName: string
                    lastName: string
                    companyName: string
                    addressLine1: string
                    addressLine2: string
                    addressCity: string
                    addressPostalCode: string
                    addressProvinceCode: string
                    addressCountryCode: string
                    phoneNumberMain: string
                    phoneNumberBusiness: string
                    phoneNumberMobile: string
                    faxNumberMain: string
                    emailAddressMain: string
                    emailAddressWork: string
                    contactType:
                      name: string
                      code: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '409':
          description: Conflict. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '422':
          description: Validation failed. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
  '/v1/transactions/{transactionId}':
    get:
      tags:
        - Transactions
      summary: Get Transaction
      operationId: get-v1-transactions-transactionid
      parameters:
        - name: transactionId
          in: path
          description: The id of the transaction.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Transaction'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                number: string
                mlsNumber: string
                statusCode: C
                addressStreetNumber: string
                addressStreetName: string
                addressStreetDirection: string
                addressUnitNumber: string
                addressCity: string
                addressProvinceCode: string
                addressPostalCode: string
                offerDate: string
                closeDate: string
                entryDate: string
                firmDate: string
                finalizeDate: string
                legalDescription: string
                closePrice: 0
                classificationId: string
                propertyTypeId: string
                classification:
                  name: string
                  code: string
                  endCount: 0
                  endTypeCode: B
                propertyType:
                  name: string
                  shortName: string
                  code: string
                  classCode: C
                  rental: true
                conditions:
                  - id: string
                    createdTimestamp: string
                    modifiedTimestamp: string
                    description: string
                    dueDate: string
                    completeDate: string
                deposits:
                  - id: string
                    createdTimestamp: string
                    modifiedTimestamp: string
                    date: string
                    amount: 0
                    received: true
                    interest: true
                    held: true
                    heldBy: string
                    direct: true
                    reference: string
                tiers:
                  - id: string
                    createdTimestamp: string
                    modifiedTimestamp: string
                    name: string
                    closePrice: 0
                    closeDate: string
                    statusCode: C
                    classificationId: string
                    sellingCommissionAmount: 0
                    sellingCommissionPercentage: 0
                    sellingCommissionCalculationMethodCode: A
                    buyingCommissionAmount: 0
                    buyingCommissionPercentage: 0
                    buyingCommissionCalculationMethodCode: A
                    classification:
                      name: string
                      code: string
                      endCount: 0
                      endTypeCode: B
                    commissions:
                      - id: string
                        createdTimestamp: string
                        modifiedTimestamp: string
                        agentId: string
                        officeId: string
                        amount: 0
                        percentage: 0
                        endCode: B
                        endCount: 0
                        calculationMethodCode: A
                        taxAmount: 0
                        totalFeeAmount: 0
                        totalFeeTaxAmount: 0
                        fees:
                          - id: string
                            createdTimestamp: string
                            modifiedTimestamp: string
                            percentage: 0
                            amount: 0
                            calculationMethodCode: A
                            taxAmount: 0
                            taxPercentage: 0
                            paymentMethodCode: string
                            fee:
                              shortName: string
                              name: string
                        agent:
                          firstName: string
                          middleName: string
                          lastName: string
                        office:
                          name: string
                          code: string
                    externalCommissions:
                      - id: string
                        createdTimestamp: string
                        modifiedTimestamp: string
                        endCode: B
                        percentage: 0
                        amount: 0
                        calculationMethodCode: A
                        paymentMethodCode: B
                        externalAgentId: string
                        externalAgent:
                          id: string
                          createdTimestamp: string
                          modifiedTimestamp: string
                          endCode: B
                          typeCode: B
                          paymentMethodCode: B
                          firstName: string
                          lastName: string
                          companyName: string
                          addressLine1: string
                          addressLine2: string
                          addressCity: string
                          addressPostalCode: string
                          addressProvinceCode: string
                          addressCountryCode: string
                          phoneNumberMain: string
                          phoneNumberBusiness: string
                          faxNumberMain: string
                          emailAddressMain: string
                          emailAddressBusiness: string
                externalAgents:
                  - id: string
                    createdTimestamp: string
                    modifiedTimestamp: string
                    endCode: B
                    typeCode: B
                    paymentMethodCode: B
                    firstName: string
                    lastName: string
                    companyName: string
                    addressLine1: string
                    addressLine2: string
                    addressCity: string
                    addressPostalCode: string
                    addressProvinceCode: string
                    addressCountryCode: string
                    phoneNumberMain: string
                    phoneNumberBusiness: string
                    faxNumberMain: string
                    emailAddressMain: string
                    emailAddressBusiness: string
                clientContacts:
                  - id: string
                    createdTimestamp: string
                    modifiedTimestamp: string
                    contactTypeId: string
                    endCode: B
                    prefix: string
                    firstName: string
                    lastName: string
                    companyName: string
                    addressLine1: string
                    addressLine2: string
                    addressCity: string
                    addressPostalCode: string
                    addressProvinceCode: string
                    addressCountryCode: string
                    phoneNumberMain: string
                    phoneNumberBusiness: string
                    phoneNumberMobile: string
                    faxNumberMain: string
                    emailAddressMain: string
                    emailAddressWork: string
                    contactType:
                      name: string
                      code: string
                businessContacts:
                  - id: string
                    createdTimestamp: string
                    modifiedTimestamp: string
                    contactTypeId: string
                    endCode: B
                    prefix: string
                    firstName: string
                    lastName: string
                    companyName: string
                    addressLine1: string
                    addressLine2: string
                    addressCity: string
                    addressPostalCode: string
                    addressProvinceCode: string
                    addressCountryCode: string
                    phoneNumberMain: string
                    phoneNumberBusiness: string
                    phoneNumberMobile: string
                    faxNumberMain: string
                    emailAddressMain: string
                    emailAddressWork: string
                    contactType:
                      name: string
                      code: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
    patch:
      tags:
        - Transactions
      summary: Update Transaction
      operationId: patch-v1-transactions-transactionid
      parameters:
        - name: transactionId
          in: path
          description: The id of the transaction.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        description: The properties of the transaction to update.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransactionPatchRequest'
            example:
              number: string
              mlsNumber: string
              statusCode: C
              addressStreetNumber: string
              addressStreetName: string
              addressStreetDirection: string
              addressUnitNumber: string
              addressCity: string
              addressProvinceCode: string
              addressPostalCode: string
              offerDate: string
              closeDate: string
              entryDate: string
              firmDate: string
              finalizeDate: string
              legalDescription: string
              closePrice: 0
              classificationId: string
              propertyTypeId: string
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Transaction'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                number: string
                mlsNumber: string
                statusCode: C
                addressStreetNumber: string
                addressStreetName: string
                addressStreetDirection: string
                addressUnitNumber: string
                addressCity: string
                addressProvinceCode: string
                addressPostalCode: string
                offerDate: string
                closeDate: string
                entryDate: string
                firmDate: string
                finalizeDate: string
                legalDescription: string
                closePrice: 0
                classificationId: string
                propertyTypeId: string
                classification:
                  name: string
                  code: string
                  endCount: 0
                  endTypeCode: B
                propertyType:
                  name: string
                  shortName: string
                  code: string
                  classCode: C
                  rental: true
                conditions:
                  - id: string
                    createdTimestamp: string
                    modifiedTimestamp: string
                    description: string
                    dueDate: string
                    completeDate: string
                deposits:
                  - id: string
                    createdTimestamp: string
                    modifiedTimestamp: string
                    date: string
                    amount: 0
                    received: true
                    interest: true
                    held: true
                    heldBy: string
                    direct: true
                    reference: string
                tiers:
                  - id: string
                    createdTimestamp: string
                    modifiedTimestamp: string
                    name: string
                    closePrice: 0
                    closeDate: string
                    statusCode: C
                    classificationId: string
                    sellingCommissionAmount: 0
                    sellingCommissionPercentage: 0
                    sellingCommissionCalculationMethodCode: A
                    buyingCommissionAmount: 0
                    buyingCommissionPercentage: 0
                    buyingCommissionCalculationMethodCode: A
                    classification:
                      name: string
                      code: string
                      endCount: 0
                      endTypeCode: B
                    commissions:
                      - id: string
                        createdTimestamp: string
                        modifiedTimestamp: string
                        agentId: string
                        officeId: string
                        amount: 0
                        percentage: 0
                        endCode: B
                        endCount: 0
                        calculationMethodCode: A
                        taxAmount: 0
                        totalFeeAmount: 0
                        totalFeeTaxAmount: 0
                        fees:
                          - id: string
                            createdTimestamp: string
                            modifiedTimestamp: string
                            percentage: 0
                            amount: 0
                            calculationMethodCode: A
                            taxAmount: 0
                            taxPercentage: 0
                            paymentMethodCode: string
                            fee:
                              shortName: string
                              name: string
                        agent:
                          firstName: string
                          middleName: string
                          lastName: string
                        office:
                          name: string
                          code: string
                    externalCommissions:
                      - id: string
                        createdTimestamp: string
                        modifiedTimestamp: string
                        endCode: B
                        percentage: 0
                        amount: 0
                        calculationMethodCode: A
                        paymentMethodCode: B
                        externalAgentId: string
                        externalAgent:
                          id: string
                          createdTimestamp: string
                          modifiedTimestamp: string
                          endCode: B
                          typeCode: B
                          paymentMethodCode: B
                          firstName: string
                          lastName: string
                          companyName: string
                          addressLine1: string
                          addressLine2: string
                          addressCity: string
                          addressPostalCode: string
                          addressProvinceCode: string
                          addressCountryCode: string
                          phoneNumberMain: string
                          phoneNumberBusiness: string
                          faxNumberMain: string
                          emailAddressMain: string
                          emailAddressBusiness: string
                externalAgents:
                  - id: string
                    createdTimestamp: string
                    modifiedTimestamp: string
                    endCode: B
                    typeCode: B
                    paymentMethodCode: B
                    firstName: string
                    lastName: string
                    companyName: string
                    addressLine1: string
                    addressLine2: string
                    addressCity: string
                    addressPostalCode: string
                    addressProvinceCode: string
                    addressCountryCode: string
                    phoneNumberMain: string
                    phoneNumberBusiness: string
                    faxNumberMain: string
                    emailAddressMain: string
                    emailAddressBusiness: string
                clientContacts:
                  - id: string
                    createdTimestamp: string
                    modifiedTimestamp: string
                    contactTypeId: string
                    endCode: B
                    prefix: string
                    firstName: string
                    lastName: string
                    companyName: string
                    addressLine1: string
                    addressLine2: string
                    addressCity: string
                    addressPostalCode: string
                    addressProvinceCode: string
                    addressCountryCode: string
                    phoneNumberMain: string
                    phoneNumberBusiness: string
                    phoneNumberMobile: string
                    faxNumberMain: string
                    emailAddressMain: string
                    emailAddressWork: string
                    contactType:
                      name: string
                      code: string
                businessContacts:
                  - id: string
                    createdTimestamp: string
                    modifiedTimestamp: string
                    contactTypeId: string
                    endCode: B
                    prefix: string
                    firstName: string
                    lastName: string
                    companyName: string
                    addressLine1: string
                    addressLine2: string
                    addressCity: string
                    addressPostalCode: string
                    addressProvinceCode: string
                    addressCountryCode: string
                    phoneNumberMain: string
                    phoneNumberBusiness: string
                    phoneNumberMobile: string
                    faxNumberMain: string
                    emailAddressMain: string
                    emailAddressWork: string
                    contactType:
                      name: string
                      code: string
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '422':
          description: Validation failed. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
  '/v1/transactions/{transactionId}/summary':
    get:
      tags:
        - Transactions
      summary: Get Transaction Summary
      operationId: get-v1-transactions-transactionid-summary
      parameters:
        - name: transactionId
          in: path
          description: The id of the transaction.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionSummary'
              example:
                id: string
                createdTimestamp: string
                modifiedTimestamp: string
                number: string
                mlsNumber: string
                statusCode: string
                addressStreetNumber: string
                addressStreetName: string
                addressStreetDirection: string
                addressUnitNumber: string
                addressCity: string
                addressProvinceCode: string
                addressPostalCode: string
                classificationId: string
                classificationName: string
                propertyTypeId: string
                propertyTypeName: string
                offerDate: string
                closeDate: string
                closePrice: 0
                finalizeDate: string
                firmDate: string
                tiers:
                  - id: string
                    createdTimestamp: string
                    modifiedTimestamp: string
                    name: string
                    commissions:
                      - id: string
                        createdTimestamp: string
                        modifiedTimestamp: string
                        agentId: string
                        officeId: string
                        firstName: string
                        middleName: string
                        lastName: string
                        officeName: string
                        amount: 0
                        percentage: 0
                        endCode: B
                        endCount: 0
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '404':
          description: Not found. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
  /v1/transactions/summary:
    get:
      tags:
        - Transactions
      summary: Get Transaction Summaries
      operationId: get-v1-transactions-summary
      responses:
        '200':
          description: Request succeeded.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TransactionSummary'
              example:
                - id: string
                  createdTimestamp: string
                  modifiedTimestamp: string
                  number: string
                  mlsNumber: string
                  statusCode: string
                  addressStreetNumber: string
                  addressStreetName: string
                  addressStreetDirection: string
                  addressUnitNumber: string
                  addressCity: string
                  addressProvinceCode: string
                  addressPostalCode: string
                  classificationId: string
                  classificationName: string
                  propertyTypeId: string
                  propertyTypeName: string
                  offerDate: string
                  closeDate: string
                  closePrice: 0
                  finalizeDate: string
                  firmDate: string
                  tiers:
                    - id: string
                      createdTimestamp: string
                      modifiedTimestamp: string
                      name: string
                      commissions:
                        - id: string
                          createdTimestamp: string
                          modifiedTimestamp: string
                          agentId: string
                          officeId: string
                          firstName: string
                          middleName: string
                          lastName: string
                          officeName: string
                          amount: 0
                          percentage: 0
                          endCode: B
                          endCount: 0
        '400':
          description: Invalid request. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '401':
          description: Unauthorized. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
        '403':
          description: Permission denied. See response body for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                id: string
                code: 0
                message: string
                details:
                  - string
components:
  schemas:
    ApiError:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier for the error.
          readOnly: true
        code:
          type: integer
          description: A code used to help identify the type of error. This is typically set to the same value as the http status code.
          format: int32
          readOnly: true
        message:
          type: string
          description: A summary or short message describing the error.
          readOnly: true
        details:
          type: array
          items:
            type: string
          description: A list of more detailed errors messages.
          nullable: true
          readOnly: true
      additionalProperties: false
    BusinessContact:
      required:
        - contactTypeId
        - endCode
        - firstName
        - lastName
      type: object
      properties:
        id:
          type: string
          description: The unique id.
          format: uuid
        createdTimestamp:
          type: string
          description: The date and time of creation in UTC time.
          format: date-time
          nullable: true
        modifiedTimestamp:
          type: string
          description: The date and time last modification in UTC time.
          format: date-time
          nullable: true
        contactTypeId:
          type: string
          description: The unique id of the contact type.
          format: uuid
        endCode:
          enum:
            - B
            - S
          type: string
          description: The end or side of the transaction with which the contact is associated.
        prefix:
          type: string
          description: 'The prefix for the contact, such as Mr., Mrs., Ms., Dr., etc.'
          nullable: true
        firstName:
          type: string
          description: The first name of the contact.
        lastName:
          type: string
          description: The last name of the contact.
        companyName:
          type: string
          description: The name of the company.
          nullable: true
        addressLine1:
          type: string
          description: The full street address for the company of the contact.
          nullable: true
        addressLine2:
          type: string
          description: 'The second line of the street address, if applicable (e.g., suite number).'
          nullable: true
        addressCity:
          type: string
          description: The city of the contact's address.
          nullable: true
        addressPostalCode:
          type: string
          description: The postal code of the contact's address. This will be unformatted.
          nullable: true
        addressProvinceCode:
          type: string
          description: The two character code for the province or state.
          nullable: true
        addressCountryCode:
          type: string
          description: The two character code for the country of the contact's address.
          nullable: true
        phoneNumberMain:
          type: string
          description: The main phone number for the contact. This will be unformatted.
          nullable: true
        phoneNumberBusiness:
          type: string
          description: The phone number of the business for the contact. This will be unformatted.
          nullable: true
        phoneNumberMobile:
          type: string
          description: The mobile or cell phone number for the contact. This will be unformatted.
          nullable: true
        faxNumberMain:
          type: string
          description: The main fax number for the contact. This will be unformatted.
          nullable: true
        emailAddressMain:
          type: string
          description: The main email address of the contact.
          nullable: true
        emailAddressWork:
          type: string
          description: The main email address of the contact.
          nullable: true
        contactType:
          $ref: '#/components/schemas/ContactTypeReadOnly'
      additionalProperties: false
      description: Represents a company or business contact like a Lawyer or Title Company. See client contacts for buyers and sellers.
    BusinessContactPatchRequest:
      type: object
      properties:
        contactTypeId:
          type: string
          description: The unique id of the contact type.
          format: uuid
          writeOnly: true
        endCode:
          enum:
            - B
            - S
          type: string
          description: The end or side of the transaction with which the contact is associated.
          nullable: true
          writeOnly: true
        prefix:
          type: string
          description: 'The prefix for the contact, such as Mr., Mrs., Ms., Dr., etc.'
          nullable: true
          writeOnly: true
        firstName:
          type: string
          description: The first name of the contact.
          nullable: true
          writeOnly: true
        lastName:
          type: string
          description: The last name of the contact.
          nullable: true
          writeOnly: true
        companyName:
          type: string
          description: The name of the company.
          nullable: true
          writeOnly: true
        addressLine1:
          type: string
          description: The full street address for the company of the contact.
          nullable: true
          writeOnly: true
        addressLine2:
          type: string
          description: 'The second line of the street address, if applicable (e.g., suite number).'
          nullable: true
          writeOnly: true
        addressCity:
          type: string
          description: The city of the contact's address.
          nullable: true
          writeOnly: true
        addressPostalCode:
          type: string
          description: The postal code of the contact's address. This will be unformatted.
          nullable: true
          writeOnly: true
        addressProvinceCode:
          type: string
          description: The two character code for the province or state.
          nullable: true
          writeOnly: true
        addressCountryCode:
          type: string
          description: The two character code for the country of the contact's address.
          nullable: true
          writeOnly: true
        phoneNumberMain:
          type: string
          description: The main phone number for the contact. This will be unformatted.
          nullable: true
          writeOnly: true
        phoneNumberBusiness:
          type: string
          description: The phone number of the business for the contact. This will be unformatted.
          nullable: true
          writeOnly: true
        phoneNumberMobile:
          type: string
          description: The mobile or cell phone number for the contact. This will be unformatted.
          nullable: true
          writeOnly: true
        faxNumberMain:
          type: string
          description: The main fax number for the contact. This will be unformatted.
          nullable: true
          writeOnly: true
        emailAddressMain:
          type: string
          description: The main email address of the contact.
          nullable: true
          writeOnly: true
        emailAddressWork:
          type: string
          description: The main email address of the contact.
          nullable: true
          writeOnly: true
      additionalProperties: false
      description: Used to patch properties of a business contact.
    Classification:
      required:
        - name
        - code
        - endCount
        - endTypeCode
      type: object
      properties:
        id:
          type: string
          description: The unique id.
          format: uuid
        createdTimestamp:
          type: string
          description: The date and time of creation in UTC time.
          format: date-time
          nullable: true
        modifiedTimestamp:
          type: string
          description: The date and time last modification in UTC time.
          format: date-time
          nullable: true
        name:
          type: string
          description: The name of the classification.
        code:
          type: string
          description: The code for the classification.
        endCount:
          maximum: 2
          minimum: 0
          type: number
          description: 'The total number of ends or sides this classification represents. This value will be either 0, 1 or 2.'
          format: double
        endTypeCode:
          enum:
            - B
            - D
            - M
            - S
            - X
          type: string
          description: The code representing the end type or side for the classification.
        inactiveDate:
          type: string
          description: The date the classification was no longer active.
          format: date
          nullable: true
      additionalProperties: false
      description: The classification for a transaction.
    ClassificationReadOnly:
      type: object
      properties:
        name:
          type: string
          description: The name of the classification.
          nullable: true
          readOnly: true
        code:
          type: string
          description: The code for the classification.
          nullable: true
          readOnly: true
        endCount:
          maximum: 2
          minimum: 0
          type: number
          description: 'The total number of ends or sides this classification represents. This value will be either 0, 1 or 2.'
          format: double
          readOnly: true
        endTypeCode:
          enum:
            - B
            - D
            - M
            - S
            - X
          type: string
          description: The code representing the end or side for the classification.
          nullable: true
          readOnly: true
      additionalProperties: false
      description: A read only representation of a transaction classification.
    Client:
      type: object
      properties:
        id:
          type: string
          description: The unique id.
          format: uuid
        createdTimestamp:
          type: string
          description: The date and time of creation in UTC time.
          format: date-time
          nullable: true
        modifiedTimestamp:
          type: string
          description: The date and time last modification in UTC time.
          format: date-time
          nullable: true
        name:
          type: string
          nullable: true
        addressProvinceCode:
          type: string
          nullable: true
        addressCountryCode:
          type: string
          nullable: true
      additionalProperties: false
    ClientContact:
      required:
        - contactTypeId
        - endCode
        - firstName
        - lastName
      type: object
      properties:
        id:
          type: string
          description: The unique id.
          format: uuid
        createdTimestamp:
          type: string
          description: The date and time of creation in UTC time.
          format: date-time
          nullable: true
        modifiedTimestamp:
          type: string
          description: The date and time last modification in UTC time.
          format: date-time
          nullable: true
        contactTypeId:
          type: string
          description: The unique id of the contact type.
          format: uuid
        endCode:
          enum:
            - B
            - S
          type: string
          description: The end or side of the transaction with which the contact is associated.
        prefix:
          type: string
          description: 'The prefix for the contact, such as Mr., Mrs., Ms., Dr., etc.'
          nullable: true
        firstName:
          type: string
          description: The first name of the contact.
        lastName:
          type: string
          description: The last name of the contact.
        companyName:
          type: string
          description: The name of the company if the buyer or seller is a company and not an individual.
          nullable: true
        addressLine1:
          type: string
          description: The full street address for the company of the contact.
          nullable: true
        addressLine2:
          type: string
          description: 'The second line of the street address, if applicable (e.g., suite number).'
          nullable: true
        addressCity:
          type: string
          description: The city of the contact's address.
          nullable: true
        addressPostalCode:
          type: string
          description: The postal code of the contact's address. This will be unformatted.
          nullable: true
        addressProvinceCode:
          type: string
          description: The two character code for the province or state.
          nullable: true
        addressCountryCode:
          type: string
          description: The two character code for the country of the contact's address.
          nullable: true
        phoneNumberMain:
          type: string
          description: The main phone number for the contact. This will be unformatted.
          nullable: true
        phoneNumberBusiness:
          type: string
          description: The phone number of the business for the contact. This will be unformatted.
          nullable: true
        phoneNumberMobile:
          type: string
          description: The mobile or cell phone number for the contact. This will be unformatted.
          nullable: true
        faxNumberMain:
          type: string
          description: The main fax number for the contact. This will be unformatted.
          nullable: true
        emailAddressMain:
          type: string
          description: The main email address of the contact.
          nullable: true
        emailAddressWork:
          type: string
          description: The main email address of the contact.
          nullable: true
        contactType:
          $ref: '#/components/schemas/ContactTypeReadOnly'
      additionalProperties: false
      description: 'Represents a buyer or seller on a transaction. For companies or business contacts, see Business Contact.'
    ClientContactPatchRequest:
      type: object
      properties:
        contactTypeId:
          type: string
          description: The unique id of the contact type.
          format: uuid
          writeOnly: true
        endCode:
          enum:
            - B
            - S
          type: string
          description: The end or side of the transaction with which the contact is associated.
          nullable: true
          writeOnly: true
        prefix:
          type: string
          description: 'The prefix for the contact, such as Mr., Mrs., Ms., Dr., etc.'
          nullable: true
          writeOnly: true
        firstName:
          type: string
          description: The first name of the contact.
          nullable: true
          writeOnly: true
        lastName:
          type: string
          description: The last name of the contact.
          nullable: true
          writeOnly: true
        companyName:
          type: string
          description: The name of the company if the buyer or seller is a company and not an individual.
          nullable: true
          writeOnly: true
        addressLine1:
          type: string
          description: The full street address for the company of the contact.
          nullable: true
          writeOnly: true
        addressLine2:
          type: string
          description: 'The second line of the street address, if applicable (e.g., suite number).'
          nullable: true
          writeOnly: true
        addressCity:
          type: string
          description: The city of the contact's address.
          nullable: true
          writeOnly: true
        addressPostalCode:
          type: string
          description: The postal code of the contact's address. This will be unformatted.
          nullable: true
          writeOnly: true
        addressProvinceCode:
          type: string
          description: The two character code for the province or state.
          nullable: true
          writeOnly: true
        addressCountryCode:
          type: string
          description: The two character code for the country of the contact's address.
          nullable: true
          writeOnly: true
        phoneNumberMain:
          type: string
          description: The main phone number for the contact. This will be unformatted.
          nullable: true
          writeOnly: true
        phoneNumberBusiness:
          type: string
          description: The phone number of the business for the contact. This will be unformatted.
          nullable: true
          writeOnly: true
        phoneNumberMobile:
          type: string
          description: The mobile or cell phone number for the contact. This will be unformatted.
          nullable: true
          writeOnly: true
        faxNumberMain:
          type: string
          description: The main fax number for the contact. This will be unformatted.
          nullable: true
          writeOnly: true
        emailAddressMain:
          type: string
          description: The main email address of the contact.
          nullable: true
          writeOnly: true
        emailAddressWork:
          type: string
          description: The main email address of the contact.
          nullable: true
          writeOnly: true
      additionalProperties: false
      description: Used to patch properties of a client contact.
    Commission:
      required:
        - agentId
        - endCode
        - endCount
      type: object
      properties:
        id:
          type: string
          description: The unique id.
          format: uuid
        createdTimestamp:
          type: string
          description: The date and time of creation in UTC time.
          format: date-time
          nullable: true
        modifiedTimestamp:
          type: string
          description: The date and time last modification in UTC time.
          format: date-time
          nullable: true
        agentId:
          type: string
          description: The unique id of the agent that gets the commission.
          format: uuid
        officeId:
          type: string
          description: The unique id of the office with which the agent is associated.
          format: uuid
          readOnly: true
        amount:
          type: number
          description: The total commission amount the agent is receiving. This includes any fees that were subtracted.
          format: currency
        percentage:
          type: number
          description: 'The percentage of the total commission for the agent. This will be specified as a decimal. For example, 5% will be specified as 0.05.'
          format: double
        endCode:
          enum:
            - B
            - S
          type: string
          description: The code representing the end or side of the transaction.
        endCount:
          maximum: 2
          minimum: 0
          type: number
          description: The total number of ends or sides this commission represents.
          format: double
        calculationMethodCode:
          enum:
            - A
            - P
          type: string
          description: The code representing the calculation method used for the commission. This will be "A" for amount or "P" for percentage.
          nullable: true
        taxAmount:
          type: number
          description: The total amount in tax applied to the commission.
          format: currency
        totalFeeAmount:
          type: number
          description: The total amount of fees applied to the commission.
          format: currency
        totalFeeTaxAmount:
          type: number
          description: The total amount in tax applied to just the fees for the commission.
          format: currency
        fees:
          type: array
          items:
            $ref: '#/components/schemas/CommissionFee'
          description: The list of fees associated with the commission.
          nullable: true
        agent:
          $ref: '#/components/schemas/EmployeeReadOnly'
        office:
          $ref: '#/components/schemas/OfficeReadOnly'
      additionalProperties: false
      description: Represents a commission for an agent on a transaction.
    CommissionFee:
      type: object
      properties:
        id:
          type: string
          description: The unique id.
          format: uuid
        createdTimestamp:
          type: string
          description: The date and time of creation in UTC time.
          format: date-time
          nullable: true
        modifiedTimestamp:
          type: string
          description: The date and time last modification in UTC time.
          format: date-time
          nullable: true
        percentage:
          type: number
          description: 'The percentage of the commission. This will be specified as a decimal. For example, 5% will be specified as 0.05.'
          format: double
        amount:
          type: number
          description: The amount of the fee.
          format: currency
        calculationMethodCode:
          enum:
            - A
            - P
          type: string
          description: The code for the method used to calculate the fee.
          nullable: true
        taxAmount:
          type: number
          description: The amount of tax applied to the fee.
          format: currency
        taxPercentage:
          type: number
          description: 'The tax rate applied to the fee. This will be specified as a decimal. For example, 5% will be specified as 0.05.'
          format: double
        paymentMethodCode:
          type: string
          description: The code for the method used to pay the fee.
          nullable: true
        fee:
          $ref: '#/components/schemas/FeeReadOnly'
      additionalProperties: false
      description: Represents a fee that is related to a commission.
    CommissionPatchRequest:
      type: object
      properties:
        agentId:
          type: string
          description: The unique id of the agent that gets the commission.
          format: uuid
          writeOnly: true
        amount:
          type: number
          description: The total commission amount the agent is receiving. This includes any fees that were subtracted.
          format: currency
          writeOnly: true
        percentage:
          type: number
          description: 'The percentage of the total commission for the agent. This will be specified as a decimal. For example, 5% will be specified as 0.05.'
          format: double
          writeOnly: true
        endCode:
          enum:
            - B
            - S
          type: string
          description: The code representing the end or side of the transaction.
          nullable: true
          writeOnly: true
        endCount:
          maximum: 2
          minimum: 0
          type: number
          description: The total number of ends or sides this commission represents.
          format: double
          writeOnly: true
        calculationMethodCode:
          enum:
            - A
            - P
          type: string
          description: The code representing the calculation method used for the commission. This will be "A" for amount or "P" for percentage.
          nullable: true
          writeOnly: true
      additionalProperties: false
      description: Used to patch properties of a commission.
    CommissionSummary:
      type: object
      properties:
        id:
          type: string
          description: The unique id.
          format: uuid
          readOnly: true
        createdTimestamp:
          type: string
          description: The date and time of creation in UTC time.
          format: date-time
          nullable: true
          readOnly: true
        modifiedTimestamp:
          type: string
          description: The date and time last modification in UTC time.
          format: date-time
          nullable: true
          readOnly: true
        agentId:
          type: string
          description: The unique id of the agent that gets the commission.
          format: uuid
          readOnly: true
        officeId:
          type: string
          description: The unique id of the office with which the agent is associated.
          format: uuid
          readOnly: true
        firstName:
          type: string
          description: The first name of the agent.
          nullable: true
          readOnly: true
        middleName:
          type: string
          description: The middle name of the agent.
          nullable: true
          readOnly: true
        lastName:
          type: string
          description: The last name of the agent.
          nullable: true
          readOnly: true
        officeName:
          type: string
          description: The name of the office.
          nullable: true
          readOnly: true
        amount:
          type: number
          description: The total commission amount the agent is receiving. This includes any fees that were subtracted.
          format: currency
          readOnly: true
        percentage:
          type: number
          description: The percentage of the total commission for the agent.
          format: double
          readOnly: true
        endCode:
          enum:
            - B
            - S
          type: string
          description: The code representing the end or side of the transaction.
          nullable: true
          readOnly: true
        endCount:
          type: number
          description: The total number of ends or sides this commission represents.
          format: double
          readOnly: true
      additionalProperties: false
      description: A summary of the commission for an agent.
    Condition:
      required:
        - description
        - dueDate
      type: object
      properties:
        id:
          type: string
          description: The unique id.
          format: uuid
        createdTimestamp:
          type: string
          description: The date and time of creation in UTC time.
          format: date-time
          nullable: true
        modifiedTimestamp:
          type: string
          description: The date and time last modification in UTC time.
          format: date-time
          nullable: true
        description:
          type: string
          description: A description of the commission.
        dueDate:
          type: string
          description: The date the condition is due.
          format: date
        completeDate:
          type: string
          description: The date the condition was completed.
          format: date
          nullable: true
      additionalProperties: false
      description: Represents a condition on a transaction.
    ConditionPatchRequest:
      type: object
      properties:
        description:
          type: string
          description: A description of the commission.
          nullable: true
          writeOnly: true
        dueDate:
          type: string
          description: The date the condition is due.
          format: date
          writeOnly: true
        completeDate:
          type: string
          description: The date the condition was completed.
          format: date
          nullable: true
          writeOnly: true
      additionalProperties: false
      description: Used to patch properties of a condition.
    ConditionType:
      required:
        - name
      type: object
      properties:
        id:
          type: string
          description: The unique id.
          format: uuid
        createdTimestamp:
          type: string
          description: The date and time of creation in UTC time.
          format: date-time
          nullable: true
        modifiedTimestamp:
          type: string
          description: The date and time last modification in UTC time.
          format: date-time
          nullable: true
        name:
          type: string
          description: The name of the condition type.
      additionalProperties: false
      description: Represents a preset type of condition that can be applied to a transaction.
    ConditionTypePatchRequest:
      type: object
      properties:
        name:
          type: string
          description: The name of the condition type.
          nullable: true
          writeOnly: true
      additionalProperties: false
      description: Used to patch properties of a condition type.
    ContactType:
      required:
        - name
        - code
      type: object
      properties:
        id:
          type: string
          description: The unique id.
          format: uuid
        createdTimestamp:
          type: string
          description: The date and time of creation in UTC time.
          format: date-time
          nullable: true
        modifiedTimestamp:
          type: string
          description: The date and time last modification in UTC time.
          format: date-time
          nullable: true
        name:
          type: string
          description: The name of the contact type.
        code:
          type: string
          description: The unique code for the contact type.
        inactiveDate:
          type: string
          description: The date the contact type was no longer active.
          format: date
          nullable: true
      additionalProperties: false
      description: Represents a type of contact for a client or business contact associated with a transaction.
    ContactTypePatchRequest:
      type: object
      properties:
        name:
          type: string
          description: The name of the contact type.
          nullable: true
          writeOnly: true
        inactiveDate:
          type: string
          description: The date the contact type was no longer active.
          format: date
          nullable: true
          writeOnly: true
      additionalProperties: false
      description: Used to patch properties of a contact type.
    ContactTypeReadOnly:
      type: object
      properties:
        name:
          type: string
          description: The name of the contact type.
          nullable: true
          readOnly: true
        code:
          type: string
          description: The unique code for the contact type.
          nullable: true
          readOnly: true
      additionalProperties: false
      description: A read only representation of a contact type.
    Deposit:
      required:
        - date
        - amount
      type: object
      properties:
        id:
          type: string
          description: The unique id.
          format: uuid
        createdTimestamp:
          type: string
          description: The date and time of creation in UTC time.
          format: date-time
          nullable: true
        modifiedTimestamp:
          type: string
          description: The date and time last modification in UTC time.
          format: date-time
          nullable: true
        date:
          type: string
          description: The date the deposit was received.
          format: date
        amount:
          type: number
          description: The amount of the deposit.
          format: currency
        received:
          type: boolean
          description: If the deposit has been received or not.
        interest:
          type: boolean
          description: If the deposit accumulates interest.
        held:
          type: boolean
          description: If the deposit is held or not.
        heldBy:
          type: string
          description: Who the deposit is held by.
          nullable: true
        direct:
          type: boolean
          description: If the deposit is direct or not.
        reference:
          type: string
          description: The reference number for the deposit.
          nullable: true
      additionalProperties: false
      description: Represents a deposit associated to a transaction.
    DepositPatchRequest:
      type: object
      properties:
        date:
          type: string
          description: The date the deposit was received.
          format: date
          writeOnly: true
        amount:
          type: number
          description: The amount of the deposit.
          format: currency
          writeOnly: true
        received:
          type: boolean
          description: If the deposit has been received or not.
          writeOnly: true
        interest:
          type: boolean
          description: If the deposit accumulates interest.
          writeOnly: true
        held:
          type: boolean
          description: If the deposit is held or not.
          writeOnly: true
        heldBy:
          type: string
          description: Who the deposit is held by.
          nullable: true
          writeOnly: true
        direct:
          type: boolean
          description: If the deposit is direct or not.
          writeOnly: true
        reference:
          type: string
          description: The reference number for the deposit.
          nullable: true
          writeOnly: true
      additionalProperties: false
      description: Used to patch properties of a deposit.
    Employee:
      required:
        - firstName
        - lastName
      type: object
      properties:
        id:
          type: string
          description: The unique id.
          format: uuid
        createdTimestamp:
          type: string
          description: The date and time of creation in UTC time.
          format: date-time
          nullable: true
        modifiedTimestamp:
          type: string
          description: The date and time last modification in UTC time.
          format: date-time
          nullable: true
        lwaId:
          type: string
          description: The id of the Lone Wolf Account associated to the employee.
          format: uuid
          nullable: true
        number:
          type: string
          description: The assigned number.
          nullable: true
        firstName:
          type: string
          description: The first name.
        middleName:
          type: string
          description: The middle name.
          nullable: true
        lastName:
          type: string
          description: The last name.
        nickname:
          type: string
          description: The nickname.
          nullable: true
        officeId:
          type: string
          description: The id of the office to which the employee belongs.
          format: uuid
          nullable: true
        inactiveDate:
          type: string
          description: 'The date the employee was inactive. If null, the employee is still active.'
          format: date
          nullable: true
        legalName:
          type: string
          description: The legal name.
          nullable: true
        addressLine1:
          type: string
          description: The street address.
          nullable: true
        addressCity:
          type: string
          description: The city.
          nullable: true
        addressProvinceCode:
          type: string
          description: The two character state or province code.
          nullable: true
        addressPostalCode:
          type: string
          description: The postal code. This will be unformatted.
          nullable: true
        emailAddressMain:
          type: string
          description: The main email address.
          nullable: true
        birthDate:
          type: string
          description: The birthdate.
          format: date
          nullable: true
        startDate:
          type: string
          description: The start date.
          format: date
          nullable: true
        phoneNumberMain:
          type: string
          description: The main phone number.
          nullable: true
        phoneNumberMobile:
          type: string
          description: The mobile phone number.
          nullable: true
        phoneNumberPager:
          type: string
          description: The pager number.
          nullable: true
        faxNumberMain:
          type: string
          description: The fax number.
          nullable: true
        phoneNumberDirect:
          type: string
          description: The direct phone number.
          nullable: true
        office:
          $ref: '#/components/schemas/OfficeReadOnly'
      additionalProperties: false
      description: Represents an employee.
    EmployeePatchRequest:
      type: object
      additionalProperties: {}
      description: Used to update the properties of an employee.
    EmployeeReadOnly:
      type: object
      properties:
        firstName:
          type: string
          description: The first name of the agent.
          nullable: true
          readOnly: true
        middleName:
          type: string
          description: The middle name of the agent.
          nullable: true
          readOnly: true
        lastName:
          type: string
          description: The last name of the agent.
          nullable: true
          readOnly: true
      additionalProperties: false
      description: A read only representation of an agent.
    ExternalAgent:
      required:
        - endCode
        - firstName
        - lastName
        - typeCode
      type: object
      properties:
        id:
          type: string
          description: The unique id.
          format: uuid
        createdTimestamp:
          type: string
          description: The date and time of creation in UTC time.
          format: date-time
          nullable: true
        modifiedTimestamp:
          type: string
          description: The date and time last modification in UTC time.
          format: date-time
          nullable: true
        endCode:
          enum:
            - B
            - S
          type: string
          description: The code end or side of the transaction.
        typeCode:
          enum:
            - B
            - R
          type: string
          description: The code for the type of external agent this is. This will be either "B" for outside broker or "R" for referral.
        paymentMethodCode:
          enum:
            - B
            - 'N'
            - E
          type: string
          description: The code for the method use to pay the external agent.
          nullable: true
        firstName:
          type: string
          description: The first name of the external agent.
        lastName:
          type: string
          description: The last name of the external agent.
        companyName:
          type: string
          description: The name of the company for which the external agent works.
          nullable: true
        addressLine1:
          type: string
          description: The street address.
          nullable: true
        addressLine2:
          type: string
          description: The address unit number.
          nullable: true
        addressCity:
          type: string
          description: The city of the address.
          nullable: true
        addressPostalCode:
          type: string
          description: The postal code of the address. This will be unformatted.
          nullable: true
        addressProvinceCode:
          type: string
          description: The two character state or province code.
          nullable: true
        addressCountryCode:
          type: string
          description: The two character country code.
          nullable: true
        phoneNumberMain:
          type: string
          description: The external agent's main phone number.
          nullable: true
        phoneNumberBusiness:
          type: string
          description: The external agent's business phone number.
          nullable: true
        faxNumberMain:
          type: string
          description: The external agent's main fax number.
          nullable: true
        emailAddressMain:
          type: string
          description: The external agent's main email address.
          nullable: true
        emailAddressBusiness:
          type: string
          description: The external agent's business email address.
          nullable: true
      additionalProperties: false
      description: Represents an agent involved in the transaction that does not work for the brokerage.
    ExternalAgentPatchRequest:
      type: object
      properties:
        endCode:
          enum:
            - B
            - S
          type: string
          description: The code end or side of the transaction.
          nullable: true
          writeOnly: true
        typeCode:
          enum:
            - B
            - R
          type: string
          description: The code for the type of external agent this is. This will be either "B" for outside broker or "R" for referral.
          nullable: true
          writeOnly: true
        paymentMethodCode:
          enum:
            - B
            - 'N'
            - E
          type: string
          description: The code for the method use to pay the external agent.
          nullable: true
          writeOnly: true
        firstName:
          type: string
          description: The first name of the external agent.
          nullable: true
          writeOnly: true
        lastName:
          type: string
          description: The last name of the external agent.
          nullable: true
          writeOnly: true
        companyName:
          type: string
          description: The name of the company for which the external agent works.
          nullable: true
          writeOnly: true
        addressLine1:
          type: string
          description: The street address.
          nullable: true
          writeOnly: true
        addressLine2:
          type: string
          description: The address unit number.
          nullable: true
          writeOnly: true
        addressCity:
          type: string
          description: The city of the address.
          nullable: true
          writeOnly: true
        addressPostalCode:
          type: string
          description: The postal code of the address. This will be unformatted.
          nullable: true
          writeOnly: true
        addressProvinceCode:
          type: string
          description: The two character state or province code.
          nullable: true
          writeOnly: true
        addressCountryCode:
          type: string
          description: The two character country code.
          nullable: true
          writeOnly: true
        phoneNumberMain:
          type: string
          description: The external agent's main phone number.
          nullable: true
          writeOnly: true
        phoneNumberBusiness:
          type: string
          description: The external agent's business phone number.
          nullable: true
          writeOnly: true
        faxNumberMain:
          type: string
          description: The external agent's main fax number.
          nullable: true
          writeOnly: true
        emailAddressMain:
          type: string
          description: The external agent's main email address.
          nullable: true
          writeOnly: true
        emailAddressBusiness:
          type: string
          description: The external agent's business email address.
          nullable: true
          writeOnly: true
      additionalProperties: false
      description: Used to patch properties of an external agent.
    ExternalCommission:
      required:
        - externalAgentId
        - endCode
      type: object
      properties:
        id:
          type: string
          description: The unique id.
          format: uuid
        createdTimestamp:
          type: string
          description: The date and time of creation in UTC time.
          format: date-time
          nullable: true
        modifiedTimestamp:
          type: string
          description: The date and time last modification in UTC time.
          format: date-time
          nullable: true
        endCode:
          enum:
            - B
            - S
          type: string
          description: The code for the end or side of the transaction.
        percentage:
          type: number
          description: 'The percentage of the commission paid to the external agent. This will be specified as a decimal. For example, 5% will be specified as 0.05.'
          format: double
        amount:
          type: number
          description: The amount of the commission paid to the external agent.
          format: currency
        calculationMethodCode:
          enum:
            - A
            - P
          type: string
          description: The code for the method used to calculate the commission.
          nullable: true
        paymentMethodCode:
          enum:
            - B
            - 'N'
            - E
          type: string
          description: The code for the method of payment for the commission.
          nullable: true
        externalAgentId:
          type: string
          description: The unique id of the external agent associated with this commission.
          format: uuid
        externalAgent:
          $ref: '#/components/schemas/ExternalAgent'
      additionalProperties: false
      description: Represents a commission paid to an external agent involved in a transaction.
    ExternalCommissionPatchRequest:
      type: object
      properties:
        endCode:
          enum:
            - B
            - S
          type: string
          description: The code for the end or side of the transaction.
          nullable: true
          writeOnly: true
        percentage:
          type: number
          description: 'The percentage of the commission paid to the external agent. This will be specified as a decimal. For example, 5% will be specified as 0.05.'
          format: double
          writeOnly: true
        amount:
          type: number
          description: The amount of the commission paid to the external agent.
          format: currency
          writeOnly: true
        calculationMethodCode:
          enum:
            - A
            - P
          type: string
          description: The code for the method used to calculate the commission.
          nullable: true
          writeOnly: true
        paymentMethodCode:
          enum:
            - B
            - 'N'
            - E
          type: string
          description: The code for the method of payment for the commission.
          nullable: true
          writeOnly: true
        externalAgentId:
          type: string
          description: The unique id of the external agent associated with this commission.
          format: uuid
          writeOnly: true
      additionalProperties: false
      description: Used to patch properties of an external commission.
    Feature:
      required:
        - code
      type: object
      properties:
        id:
          type: string
          description: The unique id.
          format: uuid
        createdTimestamp:
          type: string
          description: The date and time of creation in UTC time.
          format: date-time
          nullable: true
        modifiedTimestamp:
          type: string
          description: The date and time last modification in UTC time.
          format: date-time
          nullable: true
        code:
          type: string
          description: The code.
        enabled:
          type: boolean
          description: True if the feature is enabled.
      additionalProperties: false
      description: Represents a feature in back office.
    FeaturePatchRequest:
      type: object
      properties:
        enabled:
          type: boolean
          description: Enables or disables the feature.
          writeOnly: true
      additionalProperties: false
      description: Used to update the properties of a feature.
    FeeReadOnly:
      type: object
      properties:
        shortName:
          type: string
          description: The short name of the fee.
          nullable: true
          readOnly: true
        name:
          type: string
          description: The name of the fee.
          nullable: true
          readOnly: true
      additionalProperties: false
      description: A read only representation of a fee associated with a transaction.
    Office:
      required:
        - name
        - code
      type: object
      properties:
        id:
          type: string
          description: The unique id.
          format: uuid
        createdTimestamp:
          type: string
          description: The date and time of creation in UTC time.
          format: date-time
          nullable: true
        modifiedTimestamp:
          type: string
          description: The date and time last modification in UTC time.
          format: date-time
          nullable: true
        name:
          type: string
          description: The name.
        shortName:
          type: string
          description: The short name.
          nullable: true
        inactiveDate:
          type: string
          description: The date the office went inactive.
          format: date
          nullable: true
        addressCity:
          type: string
          description: The city.
          nullable: true
        addressProvinceCode:
          type: string
          description: The two character state or province code.
          nullable: true
        addressPostalCode:
          type: string
          description: The postal code. This will be unformatted.
          nullable: true
        code:
          type: string
          description: The code for the office.
        startDate:
          type: string
          description: The date the office opened.
          format: date
          nullable: true
      additionalProperties: false
      description: Represents an office.
    OfficePatchRequest:
      type: object
      additionalProperties: {}
      description: Used to update the properties of an office.
    OfficeReadOnly:
      type: object
      properties:
        name:
          type: string
          description: The name of the office.
          nullable: true
          readOnly: true
        code:
          type: string
          description: The code for the office.
          nullable: true
          readOnly: true
      additionalProperties: false
      description: A read only representation of an office.
    PropertyType:
      required:
        - name
        - code
        - classCode
      type: object
      properties:
        id:
          type: string
          description: The unique id.
          format: uuid
        createdTimestamp:
          type: string
          description: The date and time of creation in UTC time.
          format: date-time
          nullable: true
        modifiedTimestamp:
          type: string
          description: The date and time last modification in UTC time.
          format: date-time
          nullable: true
        name:
          type: string
          description: The name of the property type.
        shortName:
          type: string
          description: The short name of the property type.
          nullable: true
        code:
          type: string
          description: The unique code for the property type.
        classCode:
          enum:
            - C
            - R
          type: string
          description: The code representing the class of the property type. This will be either "C" for commercial or "R" for residential.
        rental:
          type: boolean
          description: Indicates whether the property type is for rental property transactions.
      additionalProperties: false
      description: Represents the type of property for a transaction.
    PropertyTypePatchRequest:
      type: object
      properties:
        name:
          type: string
          description: The name of the property type.
          nullable: true
          writeOnly: true
        shortName:
          type: string
          description: The short name of the property type.
          nullable: true
          writeOnly: true
        rental:
          type: boolean
          description: Indicates whether the property type is for rental property transactions.
          writeOnly: true
      additionalProperties: false
      description: Used to patch properties of a property type.
    PropertyTypeReadOnly:
      type: object
      properties:
        name:
          type: string
          description: The name of the property type.
          nullable: true
          readOnly: true
        shortName:
          type: string
          description: The short name of the property type.
          nullable: true
          readOnly: true
        code:
          type: string
          description: The unique code of the property type.
          nullable: true
          readOnly: true
        classCode:
          enum:
            - C
            - R
          type: string
          description: The code for the class of property type. This will be either "C" for commercial or "R" for residential.
          nullable: true
          readOnly: true
        rental:
          type: boolean
          description: Indicates whether the property type is for rental property transactions.
          readOnly: true
      additionalProperties: false
      description: A read only representation of a property type.
    SourceOfBusiness:
      required:
        - name
        - code
      type: object
      properties:
        id:
          type: string
          description: The unique id.
          format: uuid
        createdTimestamp:
          type: string
          description: The date and time of creation in UTC time.
          format: date-time
          nullable: true
        modifiedTimestamp:
          type: string
          description: The date and time last modification in UTC time.
          format: date-time
          nullable: true
        name:
          type: string
          description: The name of the source of business.
        code:
          type: string
          description: The unique code for the source of business.
      additionalProperties: false
      description: Represents a source of business for a contact associated to a transaction.
    SourceOfBusinessPatchRequest:
      type: object
      properties:
        name:
          type: string
          description: The name of the source of business.
          nullable: true
          writeOnly: true
      additionalProperties: false
      description: Used to patch properties of a source of business.
    Tier:
      required:
        - name
      type: object
      properties:
        id:
          type: string
          description: The unique id.
          format: uuid
        createdTimestamp:
          type: string
          description: The date and time of creation in UTC time.
          format: date-time
          nullable: true
        modifiedTimestamp:
          type: string
          description: The date and time last modification in UTC time.
          format: date-time
          nullable: true
        name:
          type: string
          description: The name of the tier.
        closePrice:
          type: number
          description: The close price for the tier.
          format: double
        closeDate:
          type: string
          description: The date the tier closed.
          format: date
          nullable: true
        statusCode:
          enum:
            - C
            - F
            - O
            - X
          type: string
          description: The code for the status of the tier.
          nullable: true
        classificationId:
          type: string
          description: The unique id of the classification associated with this tier.
          format: uuid
          nullable: true
        sellingCommissionAmount:
          type: number
          description: The total commission amount for the selling end or side of the tier.
          format: currency
        sellingCommissionPercentage:
          type: number
          description: 'The commission percentage for the selling end or side of the tier. This will be specified as a decimal. For example, 5% will be specified as 0.05.'
          format: double
        sellingCommissionCalculationMethodCode:
          enum:
            - A
            - P
          type: string
          description: The code representing the method used to calculate the selling commission.
          nullable: true
        buyingCommissionAmount:
          type: number
          description: The total commission amount for the buying end or side of the tier.
          format: currency
        buyingCommissionPercentage:
          type: number
          description: 'The commission percentage for the buying end or side of the tier. This will be specified as a decimal. For example, 5% will be specified as 0.05.'
          format: double
        buyingCommissionCalculationMethodCode:
          enum:
            - A
            - P
          type: string
          description: The code representing the method used to calculate the buying commission.
          nullable: true
        classification:
          $ref: '#/components/schemas/ClassificationReadOnly'
        commissions:
          type: array
          items:
            $ref: '#/components/schemas/Commission'
          description: A collection of commissions associated with the tier.
          nullable: true
        externalCommissions:
          type: array
          items:
            $ref: '#/components/schemas/ExternalCommission'
          description: A collection of external commissions associated with the tier.
          nullable: true
      additionalProperties: false
      description: Represents a sub transaction.
    TierPatchRequest:
      type: object
      properties:
        name:
          type: string
          description: The name of the tier.
          nullable: true
          writeOnly: true
        closePrice:
          type: number
          description: The close price for the tier.
          format: double
          writeOnly: true
        closeDate:
          type: string
          description: The date the tier closed.
          format: date
          nullable: true
          writeOnly: true
        statusCode:
          enum:
            - C
            - F
            - O
            - X
          type: string
          description: The code for the status of the tier.
          nullable: true
          writeOnly: true
        classificationId:
          type: string
          description: The unique id of the classification associated with this tier.
          format: uuid
          nullable: true
          writeOnly: true
        sellingCommissionAmount:
          type: number
          description: The total commission amount for the selling end or side of the tier.
          format: currency
          writeOnly: true
        sellingCommissionPercentage:
          type: number
          description: 'The commission percentage for the selling end or side of the tier. This will be specified as a decimal. For example, 5% will be specified as 0.05.'
          format: double
          writeOnly: true
        sellingCommissionCalculationMethodCode:
          enum:
            - A
            - P
          type: string
          description: The code representing the method used to calculate the selling commission.
          nullable: true
          writeOnly: true
        buyingCommissionAmount:
          type: number
          description: The total commission amount for the buying end or side of the tier.
          format: currency
          writeOnly: true
        buyingCommissionPercentage:
          type: number
          description: 'The commission percentage for the buying end or side of the tier. This will be specified as a decimal. For example, 5% will be specified as 0.05.'
          format: double
          writeOnly: true
        buyingCommissionCalculationMethodCode:
          enum:
            - A
            - P
          type: string
          description: The code representing the method used to calculate the buying commission.
          nullable: true
          writeOnly: true
      additionalProperties: false
      description: Used to patch properties of a tier.
    TierSummary:
      type: object
      properties:
        id:
          type: string
          description: The unique id.
          format: uuid
          readOnly: true
        createdTimestamp:
          type: string
          description: The date and time of creation in UTC time.
          format: date-time
          nullable: true
          readOnly: true
        modifiedTimestamp:
          type: string
          description: The date and time last modification in UTC time.
          format: date-time
          nullable: true
          readOnly: true
        name:
          type: string
          description: The name of the tier.
          nullable: true
          readOnly: true
        commissions:
          type: array
          items:
            $ref: '#/components/schemas/CommissionSummary'
          description: A collection of commissions related to the tier.
          nullable: true
          readOnly: true
      additionalProperties: false
      description: Represents a summary of a tier in a transaction.
    Transaction:
      type: object
      properties:
        id:
          type: string
          description: The unique id.
          format: uuid
        createdTimestamp:
          type: string
          description: The date and time of creation in UTC time.
          format: date-time
          nullable: true
        modifiedTimestamp:
          type: string
          description: The date and time last modification in UTC time.
          format: date-time
          nullable: true
        number:
          type: string
          description: The number assigned to the transaction.
          nullable: true
        mlsNumber:
          type: string
          description: The MLS number for the listing associated to the transaction.
          nullable: true
        statusCode:
          enum:
            - C
            - D
            - F
            - O
            - P
            - X
          type: string
          description: The code for the status of the transaction.
          nullable: true
        addressStreetNumber:
          type: string
          description: The street number.
          nullable: true
        addressStreetName:
          type: string
          description: The street name.
          nullable: true
        addressStreetDirection:
          type: string
          description: The street direction.
          nullable: true
        addressUnitNumber:
          type: string
          description: The unit number.
          nullable: true
        addressCity:
          type: string
          description: The city.
          nullable: true
        addressProvinceCode:
          type: string
          description: The two character state or province code.
          nullable: true
        addressPostalCode:
          type: string
          description: The postal code. This will be unformatted.
          nullable: true
        offerDate:
          type: string
          description: The date of the offer that started the transaction.
          format: date
          nullable: true
        closeDate:
          type: string
          description: The date the transaction closed.
          format: date
          nullable: true
        entryDate:
          type: string
          description: The date the transaction was put into the system.
          format: date
          nullable: true
        firmDate:
          type: string
          description: 'The date the transaction was firmed up, meaning all conditions were met and the transaction is moving forward.'
          format: date
          nullable: true
        finalizeDate:
          type: string
          description: 'The date the transaction was finalized, meaning all the agents were paid.'
          format: date
          nullable: true
        legalDescription:
          type: string
          description: The legal description of the property related to the transaction.
          nullable: true
        closePrice:
          type: number
          description: The price.
          format: double
        classificationId:
          type: string
          description: The unique id of the classification associated with this transaction.
          format: uuid
          nullable: true
        propertyTypeId:
          type: string
          description: The unique id of the property type associated with this transaction.
          format: uuid
          nullable: true
        classification:
          $ref: '#/components/schemas/ClassificationReadOnly'
        propertyType:
          $ref: '#/components/schemas/PropertyTypeReadOnly'
        conditions:
          type: array
          items:
            $ref: '#/components/schemas/Condition'
          description: A collection of all the conditions.
          nullable: true
        deposits:
          type: array
          items:
            $ref: '#/components/schemas/Deposit'
          description: A collection of all the deposits.
          nullable: true
        tiers:
          type: array
          items:
            $ref: '#/components/schemas/Tier'
          description: A collection of all the tiers.
          nullable: true
        externalAgents:
          type: array
          items:
            $ref: '#/components/schemas/ExternalAgent'
          description: A collection of all the external agents.
          nullable: true
        clientContacts:
          type: array
          items:
            $ref: '#/components/schemas/ClientContact'
          description: A collection of all the client contacts.
          nullable: true
        businessContacts:
          type: array
          items:
            $ref: '#/components/schemas/BusinessContact'
          description: A collection of all the business contacts.
          nullable: true
      additionalProperties: false
      description: Represents a transaction.
    TransactionPatchRequest:
      type: object
      properties:
        number:
          type: string
          description: The number assigned to the transaction.
          nullable: true
          writeOnly: true
        mlsNumber:
          type: string
          description: The MLS number for the listing associated to the transaction.
          nullable: true
          writeOnly: true
        statusCode:
          enum:
            - C
            - D
            - F
            - O
            - P
            - X
          type: string
          description: The code for the status of the transaction.
          nullable: true
          writeOnly: true
        addressStreetNumber:
          type: string
          description: The street number.
          nullable: true
          writeOnly: true
        addressStreetName:
          type: string
          description: The street name.
          nullable: true
          writeOnly: true
        addressStreetDirection:
          type: string
          description: The street direction.
          nullable: true
          writeOnly: true
        addressUnitNumber:
          type: string
          description: The unit number.
          nullable: true
          writeOnly: true
        addressCity:
          type: string
          description: The city.
          nullable: true
          writeOnly: true
        addressProvinceCode:
          type: string
          description: The two character state or province code.
          nullable: true
          writeOnly: true
        addressPostalCode:
          type: string
          description: The postal code. This will be unformatted.
          nullable: true
          writeOnly: true
        offerDate:
          type: string
          description: The date of the offer that started the transaction.
          format: date
          nullable: true
          writeOnly: true
        closeDate:
          type: string
          description: The date the transaction closed.
          format: date
          nullable: true
          writeOnly: true
        entryDate:
          type: string
          description: The date the transaction was put into the system.
          format: date
          nullable: true
          writeOnly: true
        firmDate:
          type: string
          description: 'The date the transaction was firmed up, meaning all conditions were met and the transaction is moving forward.'
          format: date
          nullable: true
          writeOnly: true
        finalizeDate:
          type: string
          description: 'The date the transaction was finalized, meaning all the agents were paid.'
          format: date
          nullable: true
          writeOnly: true
        legalDescription:
          type: string
          description: The legal description of the property related to the transaction.
          nullable: true
          writeOnly: true
        closePrice:
          type: number
          description: The price.
          format: double
          writeOnly: true
        classificationId:
          type: string
          description: The unique id of the classification associated with this transaction.
          format: uuid
          nullable: true
          writeOnly: true
        propertyTypeId:
          type: string
          description: The unique id of the property type associated with this transaction.
          format: uuid
          nullable: true
          writeOnly: true
      additionalProperties: false
      description: Used to patch properties of a condition.
    TransactionSummary:
      type: object
      properties:
        id:
          type: string
          description: The unique id.
          format: uuid
          readOnly: true
        createdTimestamp:
          type: string
          description: The date and time of creation in UTC time.
          format: date-time
          nullable: true
          readOnly: true
        modifiedTimestamp:
          type: string
          description: The date and time last modification in UTC time.
          format: date-time
          nullable: true
          readOnly: true
        number:
          type: string
          description: The number assigned to the transaction.
          nullable: true
          readOnly: true
        mlsNumber:
          type: string
          description: The MLS number for the listing associated with the transaction.
          nullable: true
          readOnly: true
        statusCode:
          type: string
          description: The code for the status of the transaction.
          nullable: true
          readOnly: true
        addressStreetNumber:
          type: string
          description: The street number.
          nullable: true
          readOnly: true
        addressStreetName:
          type: string
          description: The street name.
          nullable: true
          readOnly: true
        addressStreetDirection:
          type: string
          description: The street direction.
          nullable: true
          readOnly: true
        addressUnitNumber:
          type: string
          description: The unit number.
          nullable: true
          readOnly: true
        addressCity:
          type: string
          description: The city.
          nullable: true
          readOnly: true
        addressProvinceCode:
          type: string
          description: The two character state or province code.
          nullable: true
          readOnly: true
        addressPostalCode:
          type: string
          description: The postal code. This will be unformatted.
          nullable: true
          readOnly: true
        classificationId:
          type: string
          description: The id of the classification.
          format: uuid
          nullable: true
          readOnly: true
        classificationName:
          type: string
          description: The name of the classification.
          nullable: true
          readOnly: true
        propertyTypeId:
          type: string
          description: The id of the property type.
          format: uuid
          nullable: true
          readOnly: true
        propertyTypeName:
          type: string
          description: The name of the property type.
          nullable: true
          readOnly: true
        offerDate:
          type: string
          description: The date an offer was made.
          format: date
          nullable: true
          readOnly: true
        closeDate:
          type: string
          description: The date the transaction closed.
          format: date
          nullable: true
          readOnly: true
        closePrice:
          type: number
          description: The price.
          format: double
          nullable: true
          readOnly: true
        finalizeDate:
          type: string
          description: The date the transaction was finalized and all the agents were paid.
          format: date
          nullable: true
          readOnly: true
        firmDate:
          type: string
          description: 'The date the transaction was firmed up, meaning all conditions were met and the transaction is moving forward.'
          format: date
          nullable: true
          readOnly: true
        tiers:
          type: array
          items:
            $ref: '#/components/schemas/TierSummary'
          description: A collection of tiers.
          nullable: true
          readOnly: true
      additionalProperties: false
      description: Represents a summary of a transaction.
tags:
  - name: Classifications
    description: Classifications relate to the commission structure of a transaction.
  - name: Commissions
    description: |-
      Represents the commissions and the related agent's within the brokerage that receive those commissions.
      For commissions related to agent's that are not part of the brokerage, use external commissions.
  - name: Conditions
    description: Represents the conditions that exist on the transaction before it can be closed.
  - name: Deposits
    description: Represents the deposits that have are required for the transaction.
  - name: Employees
    description: 'Represents a person that works at the brokerage. This includes the broker themselves, office admins, agent''s, everyone.'
  - name: Offices
    description: Represents the different physical offices that make up the brokerage.
  - name: Tiers
    description: Represents a tier or sub-transaction for a given transaction. All transactions must have at least one tier.
  - name: Transactions
    description: Represents a transaction.
  - name: Features
    description: Represents the different features that are enabled or disabled for a client.
  - name: Business Contacts
    description: |-
      Business contacts represent a business or third party that is part of a transaction such as a home inspector or a lawyer.
      They do not represent the buyer or seller. For buyer and seller contacts, use client contacts.
  - name: Client Contacts
    description: |-
      Client contacts represent a buyer or seller that is part of a transaction. For all other types of contacts,
      use business contacts.
  - name: Commission Fees
    description: Represents fees that are associated with commissions.
  - name: Condition Types
    description: Represents some common conditions that can be added to transactions.
  - name: Contact Types
    description: Represents the types of contacts for both business and client.
  - name: External Agents
    description: Represents agents that are on the transaction but are not part of the brokerage.
  - name: External Commissions
    description: |-
      Represents the external commissions and the related external agent's that are not part of the brokerage
      that receive those commissions. For commissions related to agent's that are part of the brokerage, use commissions.
  - name: Property Types
    description: Represents the different property types that can be associated to a transaction.
  - name: Sources of Business
    description: Represents the different sources of business that were used to find the buyers and sellers.
  - name: Client Settings
    description: ''
x-topics:
  - title: Overview
    content:
      $ref: ./docs/backoffice-overview.md
  - title: Getting started
    content:
      $ref: ./docs/getting-started.md
  - title: Authentication Token
    content:
      $ref: ./docs/authentication.md
  - title: HTTP Request
    content:
      $ref: ./docs/http-request.md

