Kanmon Invoices API

The Invoices API from Kanmon — 3 operation(s) for invoices.

OpenAPI Specification

kanmon-invoices-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  contact: {}
  description: Kanmon's public api. Contains all of the endpoints for both capital providers and platforms
  title: Kanmon Public V2 Bank Accounts Invoices API
  version: 2.0.0
servers:
- description: Production
  url: https://api.kanmon.com
- description: Sandbox
  url: https://api.kanmon.dev
- description: Local
  url: http://localhost:3333
- description: Staging
  url: https://workflow.concar.dev
tags:
- name: Invoices
paths:
  /api/platform/v2/invoices/{id}:
    get:
      operationId: getInvoice
      parameters:
      - description: Either the Kanmon invoice UUID or your platform’s invoice ID, depending on `idType`.
        example: 60eaa08c-f7a5-4f3a-860d-a16dde5771d6
        explode: false
        in: path
        name: id
        required: true
        schema:
          type: string
        style: simple
      - description: Which ID type to query the invoice by. Defaults to `KANMON`. Use `PLATFORM` if you want to query by your platform’s ID.
        example: KANMON
        explode: true
        in: query
        name: idType
        required: false
        schema:
          enum:
          - KANMON
          - PLATFORM
          type: string
        style: form
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Invoice'
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestException'
          description: BadRequestException
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenException'
          description: ForbiddenException
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getInvoice_404_response'
          description: InvoiceNotFoundException, BusinessNotFoundException
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequestsException'
          description: TooManyRequestsException
          headers:
            X-RateLimit-Limit:
              description: Maximum number of requests allowed per minute.
              explode: false
              schema:
                type: integer
              style: simple
            X-RateLimit-Remaining:
              description: Number of remaining requests available.
              explode: false
              schema:
                type: integer
              style: simple
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerErrorException'
          description: InternalServerErrorException
      security:
      - Authorization: []
      summary: Fetch an invoice
      tags:
      - Invoices
      x-readme:
        code-samples:
        - language: node
          install: npm install @kanmon/sdk
          name: SDK
          code: "\nkanmonApi.invoices.getInvoice({\n  ...params...\n})\n    "
      x-accepts:
      - application/json
  /api/platform/v2/invoices:
    get:
      operationId: getAllInvoices
      parameters:
      - description: A comma delimited list of invoice statuses.
        example: INVOICE_CREATED,INVOICE_FUNDED
        explode: true
        in: query
        name: statuses
        required: false
        schema:
          type: string
        style: form
      - description: A comma delimited list of Kanmon’s unique IDs for invoices.
        example: 60eaa08c-f7a5-4f3a-860d-a16dde5771d6,70eaa08c-f7a5-4f3a-860d-a16dde5771e34
        explode: true
        in: query
        name: ids
        required: false
        schema:
          type: string
        style: form
      - description: A comma delimited list of your platform’s unique IDs for businesses.
        example: 12345,67890
        explode: true
        in: query
        name: platformBusinessIds
        required: false
        schema:
          type: string
        style: form
      - description: A comma delimited list of Kanmon’s unique IDs for businesses.
        example: 60eaa08c-f7a5-4f3a-860d-a16dde5771d6,70eaa08c-f7a5-4f3a-860d-a16dde5771e34
        explode: true
        in: query
        name: businessIds
        required: false
        schema:
          type: string
        style: form
      - description: A comma delimited list of your platforms’s unique IDs for invoices.
        example: 12345,67890
        explode: true
        in: query
        name: platformInvoiceIds
        required: false
        schema:
          type: string
        style: form
      - description: The number of records to skip when performing pagination. Defaults to `0`.
        example: '0'
        explode: true
        in: query
        name: offset
        required: false
        schema:
          type: number
        style: form
      - description: The number of records to limit when performing pagination. Defaults to `100`, which is the max.
        example: '100'
        explode: true
        in: query
        name: limit
        required: false
        schema:
          type: number
        style: form
      - description: Filter for records where `createdAt` is greater than or equal to this value. ISO 8601 format.
        example: 2022-06-01 03:57:26.115000+00:00
        explode: true
        in: query
        name: createdAtStart
        required: false
        schema:
          type: string
        style: form
      - description: Filter for records where `createdAt` is less than or equal to this value. ISO 8601 format.
        example: 2022-06-01 03:57:26.115000+00:00
        explode: true
        in: query
        name: createdAtEnd
        required: false
        schema:
          type: string
        style: form
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetInvoicesResponse'
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestException'
          description: BadRequestException
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenException'
          description: ForbiddenException
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequestsException'
          description: TooManyRequestsException
          headers:
            X-RateLimit-Limit:
              description: Maximum number of requests allowed per minute.
              explode: false
              schema:
                type: integer
              style: simple
            X-RateLimit-Remaining:
              description: Number of remaining requests available.
              explode: false
              schema:
                type: integer
              style: simple
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerErrorException'
          description: InternalServerErrorException
      security:
      - Authorization: []
      summary: Fetch invoices
      tags:
      - Invoices
      x-readme:
        code-samples:
        - language: node
          install: npm install @kanmon/sdk
          name: SDK
          code: "\nkanmonApi.invoices.getAllInvoices({\n  ...params...\n})\n    "
      x-accepts:
      - application/json
  /api/platform/v2/invoices/finance:
    post:
      description: Finance an invoice for an issued product directly instead of using the embedded UI. `payeeType` is required for `ACCOUNTS_PAYABLE_FINANCING`, `payorType` for `INVOICE_FINANCING`. Extra payee/payor fields are optional.
      operationId: financeInvoice
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FinanceInvoiceRequestBody'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Invoice'
          description: Invoice financed successfully
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/financeInvoice_400_response'
          description: "PlatformInvoiceIdAlreadyExistsException, InvoicePaymentPlanNotFoundException, InvalidInvoiceDueDateException,\n        IncorrectFinancingAmountException"
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenException'
          description: ForbiddenException
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/financeInvoice_404_response'
          description: IssuedProductNotFoundException, InvoicePaymentPlanNotFoundException
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/financeInvoice_409_response'
          description: IssuedProductStatusNotCurrentException, IncorrectProductTypeException, InsufficientCreditLimitException
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequestsException'
          description: TooManyRequestsException
          headers:
            X-RateLimit-Limit:
              description: Maximum number of requests allowed per minute.
              explode: false
              schema:
                type: integer
              style: simple
            X-RateLimit-Remaining:
              description: Number of remaining requests available.
              explode: false
              schema:
                type: integer
              style: simple
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerErrorException'
          description: InternalServerErrorException
      security:
      - Authorization: []
      summary: Finance an invoice
      tags:
      - Invoices
      x-readme:
        code-samples:
        - language: node
          install: npm install @kanmon/sdk
          name: SDK
          code: "\nkanmonApi.invoices.financeInvoice({\n  ...params...\n})\n    "
      x-content-type: application/json
      x-accepts:
      - application/json
components:
  schemas:
    financeInvoice_409_response:
      oneOf:
      - $ref: '#/components/schemas/IssuedProductStatusNotCurrentException'
      - $ref: '#/components/schemas/IncorrectProductTypeException'
      - $ref: '#/components/schemas/InsufficientCreditLimitException'
    IncorrectProductTypeException:
      example:
        errorCode: IncorrectProductTypeException
        message: Internal Server Error
        timestamp: 2022-06-01 03:57:26.115000+00:00
      properties:
        errorCode:
          description: Safe for programmatic use.
          enum:
          - IncorrectProductTypeException
          type: string
        message:
          description: The human readable description of the error.
          example: Internal Server Error
          type: string
        timestamp:
          description: When the error occurred - ISO 8601 format.
          example: 2022-06-01 03:57:26.115000+00:00
          type: string
      required:
      - errorCode
      - message
      - timestamp
      type: object
    PlatformInvoiceIdAlreadyExistsException:
      example:
        errorCode: PlatformInvoiceIdAlreadyExistsException
        message: An error occurred.
        timestamp: 2022-06-01 03:57:26.115000+00:00
      properties:
        errorCode:
          description: Safe for programmatic use.
          enum:
          - PlatformInvoiceIdAlreadyExistsException
          type: string
        message:
          description: The human readable description of the error.
          example: An error occurred.
          type: string
        timestamp:
          description: When the error occurred - ISO 8601 format.
          example: 2022-06-01 03:57:26.115000+00:00
          type: string
      required:
      - errorCode
      - message
      - timestamp
      type: object
    InsufficientCreditLimitException:
      properties:
        errorCode:
          description: Safe for programmatic use.
          enum:
          - InsufficientCreditLimitException
          type: string
        message:
          description: The human readable description of the error.
          example: Available credit limit must be greater than or equal to the requested financing amount.
          type: string
        timestamp:
          description: When the error occurred - ISO 8601 format.
          example: 2022-06-01 03:57:26.115000+00:00
          type: string
      required:
      - errorCode
      - message
      - timestamp
      type: object
    financeInvoice_404_response:
      oneOf:
      - $ref: '#/components/schemas/IssuedProductNotFoundException'
      - $ref: '#/components/schemas/InvoicePaymentPlanNotFoundException'
    IssuedProductStatusNotCurrentException:
      example:
        errorCode: IssuedProductStatusNotCurrentException
        message: Issued product status must be CURRENT.
        timestamp: 2022-06-01 03:57:26.115000+00:00
      properties:
        errorCode:
          description: Safe for programmatic use.
          enum:
          - IssuedProductStatusNotCurrentException
          type: string
        message:
          description: The human readable description of the error.
          example: Issued product status must be CURRENT.
          type: string
        timestamp:
          description: When the error occurred - ISO 8601 format.
          example: 2022-06-01 03:57:26.115000+00:00
          type: string
      required:
      - errorCode
      - message
      - timestamp
      type: object
    InvoiceRepaymentScheduleItem:
      properties:
        repaymentDate:
          description: The date on which an installment of the invoice is to be repaid - ISO 8601 format.
          example: 2022-05-01
          type: string
        repaymentAmountCents:
          description: The amount to be paid as installment - in cents.
          example: 100000
          type: number
        repaymentFeeAmountCents:
          description: The fee amount to be paid as installment - in cents.
          example: 2000
          type: number
        repaymentPrincipalAmountCents:
          description: The principal amount to be paid as installment - in cents.
          example: 98000
          type: number
      required:
      - repaymentAmountCents
      - repaymentDate
      - repaymentFeeAmountCents
      - repaymentPrincipalAmountCents
      type: object
    InvoiceRepaymentSchedule:
      properties:
        schedule:
          description: The invoice repayment schedule items.
          example:
          - repaymentAmountCents: 100000
            repaymentDate: 2020-11-11
            repaymentFeeAmountCents: 2000
            repaymentPrincipalAmountCents: 98000
          items:
            $ref: '#/components/schemas/InvoiceRepaymentScheduleItem'
          type: array
      required:
      - schedule
      type: object
    Invoice:
      example:
        advanceRatePercentage: 100
        payeeFirstName: John
        payeeType: BUSINESS
        payorEmail: user@gmail.com
        payorType: BUSINESS
        payorMiddleName: payorMiddleName
        payorLastName: Smith
        payorFirstName: John
        createdAt: 2022-06-01 03:57:26.115000+00:00
        amountRequestedForFinancingCents: 100000
        invoiceIssuedDate: 2022-05-01
        id: adbcccf9-3a7f-4040-add3-55c9d6da2d37
        payeeEmail: user@gmail.com
        transactionFeePercentage: 2
        updatedAt: 2022-06-01 03:57:26.115000+00:00
        invoiceAdvanceAmountCents: 98000
        payeeLastName: Smith
        issuedProductId: adbcccf9-3a7f-4040-add3-55c9d6da2d37
        payorBusinessName: My Business
        platformInvoiceId: 1234abc
        invoiceDueDate: 2022-06-01
        repaymentAmountCents: 100000
        invoiceAmountCents: 100000
        payorAddress:
          city: San Mateo
          state: CA
          country: USA
          zipcode: '94401'
          addressLineOne: 123 Main Street
        payeeAddress:
          city: San Mateo
          state: CA
          country: USA
          zipcode: '94401'
          addressLineOne: 123 Main Street
        principalAmountCents: 100000
        platformInvoiceNumber: '123'
        payeeMiddleName: payeeMiddleName
        feeAmountCents: 2000
        repaymentSchedule:
          schedule:
          - repaymentAmountCents: 100000
            repaymentFeeAmountCents: 2000
            repaymentPrincipalAmountCents: 98000
            repaymentDate: 2020-11-11
        payeeBusinessName: My Business
        status: INVOICE_CREATED
      properties:
        id:
          description: Kanmon’s unique ID for the invoice.
          example: adbcccf9-3a7f-4040-add3-55c9d6da2d37
          type: string
        platformInvoiceId:
          description: Your platform’s unique ID for the invoice.
          example: 1234abc
          nullable: true
          type: string
        platformInvoiceNumber:
          description: Your user-facing identifier for the invoice. This is unique per issued product. This may or may not be the same as your `platformInvoiceId`.
          example: '123'
          nullable: true
          type: string
        invoiceAmountCents:
          description: The invoice amount - in cents.
          example: 100000
          type: number
        invoiceDueDate:
          description: The date when the invoice will be paid by the payor. ISO 8601 date format.
          example: 2022-06-01
          nullable: true
          type: string
        invoiceIssuedDate:
          description: The date when the payee issued the invoice. ISO 8601 date format.
          example: 2022-05-01
          nullable: true
          type: string
        payorEmail:
          description: The email of the payor.
          example: user@gmail.com
          nullable: true
          type: string
        payorAddress:
          allOf:
          - $ref: '#/components/schemas/Address'
          description: The address of the payor. The address is optional. If you provide the address, you need to provide all the required fields in the address. The address must be a street address, not a PO Box.
          example:
            city: San Mateo
            state: CA
            country: USA
            zipcode: '94401'
            addressLineOne: 123 Main Street
          nullable: true
        payorType:
          description: '`INDIVIDUAL` if the payor is a person and `BUSINESS` if the payor is a company.'
          enum:
          - BUSINESS
          - INDIVIDUAL
          example: BUSINESS
          nullable: true
          type: string
        payorBusinessName:
          description: The registered name of the payor business when the payor is a business and not an individual.
          example: My Business
          nullable: true
          type: string
        payorFirstName:
          description: The first name of the payor when the payor is an individual and not a business.
          example: John
          nullable: true
          type: string
        payorMiddleName:
          description: The middle name of the payor when the payor is an individual and not a business.
          nullable: true
          type: string
        payorLastName:
          description: The last name of the payor when the payor is an individual and not a business.
          example: Smith
          nullable: true
          type: string
        payeeEmail:
          description: The email of the payee.
          example: user@gmail.com
          nullable: true
          type: string
        payeeAddress:
          allOf:
          - $ref: '#/components/schemas/Address'
          description: The address of the payee. The address is optional. If you provide the address, you need to provide all the required fields in the address. The address must be a street address, not a PO Box.
          example:
            city: San Mateo
            state: CA
            country: USA
            zipcode: '94401'
            addressLineOne: 123 Main Street
          nullable: true
        payeeType:
          description: '`INDIVIDUAL` if the payee is a person and `BUSINESS` if the payee is a company.'
          enum:
          - BUSINESS
          - INDIVIDUAL
          example: BUSINESS
          nullable: true
          type: string
        payeeBusinessName:
          description: The registered name of the payee business when the payee is a business and not an individual.
          example: My Business
          nullable: true
          type: string
        payeeFirstName:
          description: The first name of the payee when the payee is an individual and not a business.
          example: John
          nullable: true
          type: string
        payeeMiddleName:
          description: The middle name of the payee when the payee is an individual and not a business.
          nullable: true
          type: string
        payeeLastName:
          description: The last name of the payee when the payee is an individual and not a business.
          example: Smith
          nullable: true
          type: string
        status:
          $ref: '#/components/schemas/InvoiceStatus'
        issuedProductId:
          description: The unique identifier for the issued product within Kanmon.
          example: adbcccf9-3a7f-4040-add3-55c9d6da2d37
          type: string
        feeAmountCents:
          description: The total fee amount - in cents.
          example: 2000
          type: number
        principalAmountCents:
          description: The total principal amount - in cents.
          example: 100000
          type: number
        invoiceAdvanceAmountCents:
          description: The amount after fees the business will receive - in cents.
          example: 98000
          type: number
        repaymentAmountCents:
          description: The total amount that the business will repay - in cents.
          example: 100000
          type: number
        repaymentSchedule:
          allOf:
          - $ref: '#/components/schemas/InvoiceRepaymentSchedule'
          description: The invoice repayment schedule.
          example:
            schedule:
            - repaymentAmountCents: 100000
              repaymentFeeAmountCents: 2000
              repaymentPrincipalAmountCents: 98000
              repaymentDate: 2020-11-11
        advanceRatePercentage:
          description: The percentage of the invoice that is allowed for advances. E.g. a value of `80` would mean that $800 would be advanced on a $1,000 invoice.
          example: 100
          type: number
        transactionFeePercentage:
          description: The percentage of the transaction that is charged as a fee. E.g. a value of `5` means 5%.
          example: 2
          type: number
        amountRequestedForFinancingCents:
          description: The portion of the invoice amount that the business requests to be financed - in cents.
          example: 100000
          type: number
        createdAt:
          description: Creation UTC ISO 8601 timestamp of the invoice.
          example: 2022-06-01 03:57:26.115000+00:00
          type: string
        updatedAt:
          description: Last updated UTC ISO 8601 timestamp of the invoice.
          example: 2022-06-01 03:57:26.115000+00:00
          type: string
      required:
      - advanceRatePercentage
      - amountRequestedForFinancingCents
      - createdAt
      - feeAmountCents
      - id
      - invoiceAdvanceAmountCents
      - invoiceAmountCents
      - invoiceDueDate
      - invoiceIssuedDate
      - issuedProductId
      - payeeBusinessName
      - payeeEmail
      - payeeFirstName
      - payeeLastName
      - payeeMiddleName
      - payorBusinessName
      - payorEmail
      - payorFirstName
      - payorLastName
      - payorMiddleName
      - platformInvoiceId
      - platformInvoiceNumber
      - principalAmountCents
      - repaymentAmountCents
      - repaymentSchedule
      - status
      - transactionFeePercentage
      - updatedAt
      type: object
    getInvoice_404_response:
      oneOf:
      - $ref: '#/components/schemas/InvoiceNotFoundException'
      - $ref: '#/components/schemas/BusinessNotFoundException'
    PaginationResult:
      properties:
        limit:
          description: The number of records to limit when performing pagination.
          example: 100
          type: number
        offset:
          description: The number of records to skip when performing pagination.
          example: 0
          type: number
        totalCount:
          description: The total number of records that matched the query.
          example: 100
          type: number
      required:
      - limit
      - offset
      - totalCount
      type: object
    BusinessNotFoundException:
      example:
        errorCode: BusinessNotFoundException
        message: An error occurred.
        timestamp: 2022-06-01 03:57:26.115000+00:00
      properties:
        errorCode:
          description: Safe for programmatic use.
          enum:
          - BusinessNotFoundException
          type: string
        message:
          description: The human readable description of the error.
          example: An error occurred.
          type: string
        timestamp:
          description: When the error occurred - ISO 8601 format.
          example: 2022-06-01 03:57:26.115000+00:00
          type: string
      required:
      - errorCode
      - message
      - timestamp
      type: object
    FinanceInvoiceRequestBody:
      example:
        payeeFirstName: John
        payeeLastName: Smith
        payeeType: BUSINESS
        issuedProductId: adbcccf9-3a7f-4040-add3-55c9d6da2d37
        payorEmail: user@gmail.com
        description: Invoice for equipment purchased.
        payorType: BUSINESS
        payorMiddleName: payorMiddleName
        payorBusinessName: My Business
        payorLastName: Smith
        platformInvoiceId: adbcccf9-3a7f-4040-add3-55c9d6da2d37
        invoiceDueDate: 2022-06-01
        payorFirstName: John
        invoiceAmountCents: 1000000
        payorAddress:
          city: San Mateo
          state: CA
          country: USA
          zipcode: '94401'
          addressLineOne: 123 Main Street
        payeeAddress:
          city: San Mateo
          state: CA
          country: USA
          zipcode: '94401'
          addressLineOne: 123 Main Street
        amountRequestedForFinancingCents: 1000000
        platformInvoiceNumber: '123'
        invoiceIssuedDate: 2022-04-01
        payeeMiddleName: payeeMiddleName
        invoicePaymentPlanId: adbcccf9-3a7f-4040-add3-55c9d6da2d37
        payeeEmail: user@gmail.com
        payeeBusinessName: My Business
      properties:
        issuedProductId:
          description: The unique identifier for the issued product within Kanmon.
          example: adbcccf9-3a7f-4040-add3-55c9d6da2d37
          type: string
        invoicePaymentPlanId:
          description: The unique identifier for the invoice payment plan within Kanmon.
          example: adbcccf9-3a7f-4040-add3-55c9d6da2d37
          type: string
        platformInvoiceId:
          description: Your platform’s unique ID for the invoice.
          example: adbcccf9-3a7f-4040-add3-55c9d6da2d37
          type: string
        platformInvoiceNumber:
          description: Your user-facing identifier for the invoice. This is unique per issued product. This may or may not be the same as your `platformInvoiceId`.
          example: '123'
          type: string
        invoiceAmountCents:
          description: The invoice amount - in cents. This needs to be greater than or equal to 100.
          example: 1000000
          type: number
        amountRequestedForFinancingCents:
          description: The amount requested for financing - in cents. The portion of the invoice amount that the business requests to be financed. Must be less than or equal to the `invoiceAmountCents`. This needs to be greater than or equal to 100.
          example: 1000000
          type: number
        invoiceDueDate:
          description: The date when the invoice will be paid. ISO 8601 date format. If `invoiceIssuedDate` is provided, then it must be after `invoiceIssuedDate`. If product type is `ACCOUNTS_PAYABLE_FINANCING`, this date must be no more than 5 days in the past. If product type is `INVOICE_FINANCING`, this date must be at least 7 days in the future.
          example: 2022-06-01
          type: string
        invoiceIssuedDate:
          description: The date when the payee issued the invoice. This is required if product type is `INVOICE_FINANCING`. ISO 8601 date format.
          example: 2022-04-01
          type: string
        description:
          description: The description of the goods or services in the invoice.
          example: Invoice for equipment purchased.
          type: string
        payorType:
          description: '`INDIVIDUAL` if the payor is a person and `BUSINESS` if the payor is a company. This is required if product type is `INVOICE_FINANCING`.'
          enum:
          - BUSINESS
          - INDIVIDUAL
          example: BUSINESS
          type: string
        payorEmail:
          description: The email of the payor.
          example: user@gmail.com
          type: string
        payorAddress:
          allOf:
          - $ref: '#/components/schemas/Address'
          description: The address of the payor. The address is optional. If you provide the address, you need to provide all the required fields in the address. The address must be a street address, not a PO Box.
          example:
            city: San Mateo
            state: CA
            country: USA
            zipcode: '94401'
            addressLineOne: 123 Main Street
          nullable: true
        payorBusinessName:
          description: The registered name of the payor business when the payor is a business and not an individual. Required and should only be defined if `payorType` is `BUSINESS`.
          example: My Business
          type: string
        payorFirstName:
          description: The first name of the payor when the payor is an individual and not a business. Required and should only be defined if `payorType` is `INDIVIDUAL`.
          example: John
          type: string
        payorMiddleName:
          description: The middle name of the payor when the payor is an individual and not a business. Optional and should only be defined if `payorType` is `INDIVIDUAL`.
          type: string
        payorLastName:
          description: The last name of the payor when the payor is an individual and not a business. Required and should only be defined if `payorType` is `INDIVIDUAL`.
          example: Smith
          type: string
        payeeType:
          description: '`INDIVIDUAL` if the payee is a person and `BUSINESS` if the payee is a company. This is required if product type is `ACCOUNTS_PAYABLE_FINANCING`.'
          enum:
          - BUSINESS
          - INDIVIDUAL
          example: BUSINESS
          type: string
        payeeEmail:
          description: The email of the payee.
          example: user@gmail.com
          type: string
        payeeAddress:
          allOf:
          - $ref: '#/components/schemas/Address'
          description: The address of the payee. The address is optional. If you provide the address, you need to provide all the required fields in the address. The address must be a street address, not a PO Box.
          example:
            city: San Mateo
            state: CA
            country: USA
            zipcode: '94401'
            addressLineOne: 123 Main Street
        payeeBusinessName:
          description: The registered name of the payee business when the payee is a business and not an individual. Required and should only be defined if `payeeType` is `BUSINESS`.
          example: My Business
          type: string
        payeeFirstName:
          description: The first name of the payee when the payee is an individual and not a business. Required and should only be define

# --- truncated at 32 KB (46 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/kanmon/refs/heads/main/openapi/kanmon-invoices-api-openapi.yml