Modern Treasury Invoice API

The Invoice API from Modern Treasury — 2 operation(s) for invoice.

OpenAPI Specification

modern-treasury-invoice-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Modern Treasury AccountCapability Invoice API
  version: v1
  contact:
    name: Modern Treasury Engineering Team
    url: https://moderntreasury.com
  description: The Modern Treasury REST API. Please see https://docs.moderntreasury.com for more details.
servers:
- url: http://localhost:3000
- url: https://app.moderntreasury.com
tags:
- name: Invoice
paths:
  /api/invoices:
    get:
      summary: list invoices
      tags:
      - Invoice
      operationId: listInvoices
      security:
      - basic_auth: []
      parameters:
      - name: after_cursor
        in: query
        schema:
          type: string
          nullable: true
        required: false
      - name: per_page
        in: query
        required: false
        schema:
          type: integer
      - name: counterparty_id
        in: query
        schema:
          type: string
        required: false
      - name: originating_account_id
        in: query
        schema:
          type: string
        required: false
      - name: payment_order_id
        in: query
        schema:
          type: string
        required: false
      - name: expected_payment_id
        in: query
        schema:
          type: string
        required: false
      - name: status
        in: query
        schema:
          type: string
          enum:
          - draft
          - paid
          - partially_paid
          - payment_pending
          - unpaid
          - voided
        required: false
      - name: number
        in: query
        schema:
          type: string
        description: A unique record number assigned to each invoice that is issued.
        required: false
      - name: due_date_start
        in: query
        schema:
          type: string
          format: date
        description: An inclusive lower bound for searching due_date
        required: false
      - name: due_date_end
        in: query
        schema:
          type: string
          format: date
        description: An inclusive upper bound for searching due_date
        required: false
      - name: created_at_start
        in: query
        schema:
          type: string
          format: date-time
        description: An inclusive lower bound for searching created_at
        required: false
      - name: created_at_end
        in: query
        schema:
          type: string
          format: date-time
        description: An inclusive upper bound for searching created_at
        required: false
      - $ref: '#/components/parameters/metadata_query'
      responses:
        '200':
          description: successful
          headers:
            X-After-Cursor:
              schema:
                type: string
                nullable: true
              required: false
              description: The cursor for the next page. Including this in a call as `after_cursor` will return the next page.
            X-Per-Page:
              schema:
                type: integer
                nullable: true
              description: The current `per_page`.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/invoice'
    post:
      summary: create invoice
      tags:
      - Invoice
      operationId: createInvoice
      security:
      - basic_auth: []
      parameters:
      - name: Idempotency-Key
        in: header
        required: false
        description: This key should be something unique, preferably something like an UUID.
        schema:
          type: string
      responses:
        '200':
          description: successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/invoice'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/invoice_create_request'
  /api/invoices/{id}:
    parameters:
    - name: id
      in: path
      schema:
        type: string
      description: id
      required: true
    get:
      summary: get invoice
      tags:
      - Invoice
      operationId: getInvoice
      security:
      - basic_auth: []
      responses:
        '200':
          description: successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/invoice'
    patch:
      summary: update invoice
      tags:
      - Invoice
      operationId: updateInvoice
      security:
      - basic_auth: []
      parameters: []
      responses:
        '200':
          description: successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/invoice'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/invoice_update_request'
components:
  schemas:
    payment_order_subtype:
      type: string
      enum:
      - 0C
      - 0N
      - 0S
      - CCD
      - CIE
      - CTX
      - IAT
      - PPD
      - TEL
      - WEB
      - au_becs
      - bacs
      - base
      - chats
      - dk_nets
      - eft
      - ethereum
      - hu_ics
      - masav
      - mx_ccen
      - neft
      - nics
      - nz_becs
      - pl_elixir
      - polygon
      - ro_sent
      - se_bankgirot
      - sepa
      - sg_giro
      - sic
      - sknbi
      - solana
      - zengin
      nullable: true
      description: An additional layer of classification for the type of payment order you are doing. This field is only used for `ach` payment orders currently. For `ach`  payment orders, the `subtype`  represents the SEC code. We currently support `CCD`, `PPD`, `IAT`, `CTX`, `WEB`, `CIE`, and `TEL`.
      x-stainless-renameMap:
        bacs_new_instruction: 0C
        bacs_cancellation_instruction: 0N
        bacs_conversion_instruction: 0S
    reconciliation_rule_variable:
      type: object
      properties:
        amount_upper_bound:
          type: integer
          description: The highest amount this expected payment may be equal to. Value in specified currency's smallest unit. e.g. $10 would be represented as 1000.
        amount_lower_bound:
          type: integer
          description: The lowest amount this expected payment may be equal to. Value in specified currency's smallest unit. e.g. $10 would be represented as 1000.
        direction:
          type: string
          enum:
          - credit
          - debit
          description: One of credit or debit. When you are receiving money, use credit. When you are being charged, use debit.
        internal_account_id:
          type: string
          format: uuid
          description: The ID of the Internal Account for the expected payment
        type:
          type: string
          nullable: true
          enum:
          - ach
          - au_becs
          - bacs
          - book
          - card
          - chats
          - check
          - cross_border
          - dk_nets
          - eft
          - gb_fps
          - hu_ics
          - interac
          - masav
          - mx_ccen
          - neft
          - nics
          - nz_becs
          - pl_elixir
          - provxchange
          - ro_sent
          - rtp
          - se_bankgirot
          - sen
          - sepa
          - sg_giro
          - sic
          - signet
          - sknbi
          - stablecoin
          - wire
          - zengin
          description: One of ach, au_becs, bacs, book, check, eft, interac, provxchange, rtp, sen, sepa, signet wire
        currency:
          $ref: '#/components/schemas/currency'
          description: Must conform to ISO 4217. Defaults to the currency of the internal account
        date_upper_bound:
          type: string
          format: date
          nullable: true
          description: The latest date the payment may come in. Format is yyyy-mm-dd
        date_lower_bound:
          type: string
          format: date
          nullable: true
          description: The earliest date the payment may come in. Format is yyyy-mm-dd
        counterparty_id:
          type: string
          format: uuid
          nullable: true
          description: The ID of the counterparty you expect for this payment
        custom_identifiers:
          type: object
          description: A hash of custom identifiers for this payment
          nullable: true
          additionalProperties:
            type: string
      additionalProperties: false
      minProperties: 10
      required:
      - amount_upper_bound
      - amount_lower_bound
      - direction
      - internal_account_id
    account_capability:
      type: object
      properties:
        id:
          type: string
          format: uuid
        object:
          type: string
        live_mode:
          type: boolean
          description: This field will be true if this object exists in the live environment or false if it exists in the test environment.
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        discarded_at:
          type: string
          format: date-time
          nullable: true
        direction:
          type: string
          enum:
          - credit
          - debit
          description: One of `debit` or `credit`. Indicates the direction of money movement this capability is responsible for.
          _x-stainless-modelDefPath: $shared.transaction_direction
        identifier:
          type: string
          nullable: true
          description: A unique reference assigned by your bank for tracking and recognizing payment files. It is important this is formatted exactly how the bank assigned it.
        payment_type:
          type: string
          enum:
          - ach
          - au_becs
          - bacs
          - book
          - card
          - chats
          - check
          - cross_border
          - dk_nets
          - eft
          - gb_fps
          - hu_ics
          - interac
          - masav
          - mx_ccen
          - neft
          - nics
          - nz_becs
          - pl_elixir
          - provxchange
          - ro_sent
          - rtp
          - se_bankgirot
          - sen
          - sepa
          - sg_giro
          - sic
          - signet
          - sknbi
          - stablecoin
          - wire
          - zengin
          description: Indicates the the type of payment this capability is responsible for originating.
      additionalProperties: true
      minProperties: 9
      maxProperties: 9
      required:
      - id
      - object
      - live_mode
      - created_at
      - updated_at
      - discarded_at
      - direction
      - identifier
      - payment_type
    currency:
      type: string
      enum:
      - AED
      - AFN
      - ALL
      - AMD
      - ANG
      - AOA
      - ARS
      - AUD
      - AWG
      - AZN
      - BAM
      - BBD
      - BCH
      - BDT
      - BGN
      - BHD
      - BIF
      - BMD
      - BND
      - BOB
      - BRL
      - BSD
      - BTC
      - BTN
      - BWP
      - BYN
      - BYR
      - BZD
      - CAD
      - CDF
      - CHF
      - CLF
      - CLP
      - CNH
      - CNY
      - COP
      - CRC
      - CUC
      - CUP
      - CVE
      - CZK
      - DJF
      - DKK
      - DOP
      - DZD
      - EEK
      - EGP
      - ERN
      - ETB
      - ETH
      - EUR
      - EURC
      - FJD
      - FKP
      - GBP
      - GBX
      - GEL
      - GGP
      - GHS
      - GIP
      - GMD
      - GNF
      - GTQ
      - GYD
      - HKD
      - HNL
      - HRK
      - HTG
      - HUF
      - IDR
      - ILS
      - IMP
      - INR
      - IQD
      - IRR
      - ISK
      - JEP
      - JMD
      - JOD
      - JPY
      - KES
      - KGS
      - KHR
      - KMF
      - KPW
      - KRW
      - KWD
      - KYD
      - KZT
      - LAK
      - LBP
      - LKR
      - LRD
      - LSL
      - LTL
      - LVL
      - LYD
      - MAD
      - MDL
      - MGA
      - MKD
      - MMK
      - MNT
      - MOP
      - MRO
      - MRU
      - MTL
      - MUR
      - MVR
      - MWK
      - MXN
      - MYR
      - MZN
      - NAD
      - NGN
      - NIO
      - NOK
      - NPR
      - NZD
      - OMR
      - OP
      - PAB
      - PEN
      - PGK
      - PHP
      - PKR
      - PLN
      - PYG
      - PYUSD
      - QAR
      - RON
      - RSD
      - RUB
      - RWF
      - SAR
      - SBD
      - SCR
      - SDG
      - SEK
      - SGD
      - SHP
      - SKK
      - SLE
      - SLL
      - SOS
      - SRD
      - SSP
      - STD
      - STN
      - SVC
      - SYP
      - SZL
      - THB
      - TJS
      - TMM
      - TMT
      - TND
      - TOP
      - TRY
      - TTD
      - TWD
      - TZS
      - UAH
      - UGX
      - USD
      - USDB
      - USDC
      - USDG
      - USDP
      - USDT
      - UYU
      - UZS
      - VEF
      - VES
      - VND
      - VUV
      - WST
      - XAF
      - XAG
      - XAU
      - XBA
      - XBB
      - XBC
      - XBD
      - XCD
      - XCG
      - XDR
      - XFU
      - XOF
      - XPD
      - XPF
      - XPT
      - XTS
      - YER
      - ZAR
      - ZMK
      - ZMW
      - ZWD
      - ZWG
      - ZWL
      - ZWN
      - ZWR
      description: Three-letter ISO currency code.
    routing_detail:
      type: object
      properties:
        id:
          type: string
          format: uuid
        object:
          type: string
        live_mode:
          type: boolean
          description: This field will be true if this object exists in the live environment or false if it exists in the test environment.
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        discarded_at:
          type: string
          format: date-time
          nullable: true
        routing_number:
          type: string
          description: The routing number of the bank.
        routing_number_type:
          type: string
          enum:
          - aba
          - au_bsb
          - br_codigo
          - ca_cpa
          - chips
          - cnaps
          - dk_interbank_clearing_code
          - gb_sort_code
          - hk_interbank_clearing_code
          - hu_interbank_clearing_code
          - id_sknbi_code
          - il_bank_code
          - in_ifsc
          - jp_zengin_code
          - mx_bank_identifier
          - my_branch_code
          - nz_national_clearing_code
          - pl_national_clearing_code
          - se_bankgiro_clearing_code
          - sg_interbank_clearing_code
          - swift
          - za_national_clearing_code
          description: The type of routing number. See https://docs.moderntreasury.com/platform/reference/routing-detail-object for more details.
        payment_type:
          type: string
          enum:
          - ach
          - au_becs
          - bacs
          - book
          - card
          - chats
          - check
          - cross_border
          - dk_nets
          - eft
          - gb_fps
          - hu_ics
          - interac
          - masav
          - mx_ccen
          - neft
          - nics
          - nz_becs
          - pl_elixir
          - provxchange
          - ro_sent
          - rtp
          - se_bankgirot
          - sen
          - sepa
          - sg_giro
          - sic
          - signet
          - sknbi
          - stablecoin
          - wire
          - zengin
          nullable: true
          description: If the routing detail is to be used for a specific payment type this field will be populated, otherwise null.
        bank_name:
          type: string
          description: The name of the bank.
        bank_address:
          $ref: '#/components/schemas/address'
      additionalProperties: false
      minProperties: 11
      required:
      - id
      - object
      - live_mode
      - created_at
      - updated_at
      - discarded_at
      - routing_number
      - routing_number_type
      - payment_type
      - bank_name
      - bank_address
    invoice_create_request:
      type: object
      properties:
        contact_details:
          type: array
          items:
            $ref: '#/components/schemas/contact_detail'
          description: The invoicer's contact details displayed at the top of the invoice.
        recipient_email:
          type: string
          nullable: true
          description: The email of the recipient of the invoice. Leaving this value as null will fallback to using the counterparty's name.
        recipient_name:
          type: string
          nullable: true
          description: The name of the recipient of the invoice. Leaving this value as null will fallback to using the counterparty's name.
        counterparty_id:
          type: string
          description: The ID of the counterparty receiving the invoice.
        counterparty_billing_address:
          type: object
          nullable: true
          description: The counterparty's billing address.
          properties:
            line1:
              type: string
            line2:
              type: string
            locality:
              type: string
              description: Locality or City.
            region:
              type: string
              description: Region or State.
            postal_code:
              type: string
              description: The postal code of the address.
            country:
              type: string
              description: Country code conforms to [ISO 3166-1 alpha-2]
          required:
          - line1
          - locality
          - region
          - postal_code
          - country
        counterparty_shipping_address:
          type: object
          nullable: true
          description: The counterparty's shipping address where physical goods should be delivered.
          properties:
            line1:
              type: string
            line2:
              type: string
            locality:
              type: string
              description: Locality or City.
            region:
              type: string
              description: Region or State.
            postal_code:
              type: string
              description: The postal code of the address.
            country:
              type: string
              description: Country code conforms to [ISO 3166-1 alpha-2]
          required:
          - line1
          - locality
          - region
          - postal_code
          - country
        currency:
          $ref: '#/components/schemas/currency'
          description: Currency that the invoice is denominated in. Defaults to `USD` if not provided.
        description:
          type: string
          description: A free-form description of the invoice.
        due_date:
          type: string
          format: date-time
          description: A future date by when the invoice needs to be paid.
        invoicer_name:
          type: string
          nullable: true
          description: The name of the issuer for the invoice. Defaults to the name of the Organization.
        invoicer_address:
          type: object
          nullable: true
          description: The invoice issuer's business address.
          properties:
            line1:
              type: string
            line2:
              type: string
            locality:
              type: string
              description: Locality or City.
            region:
              type: string
              description: Region or State.
            postal_code:
              type: string
              description: The postal code of the address.
            country:
              type: string
              description: Country code conforms to [ISO 3166-1 alpha-2]
          required:
          - line1
          - locality
          - region
          - postal_code
          - country
        originating_account_id:
          type: string
          description: The ID of the internal account the invoice should be paid to.
        receiving_account_id:
          type: string
          format: uuid
          description: The receiving account ID. Can be an `external_account`.
        virtual_account_id:
          type: string
          format: uuid
          nullable: true
          description: The ID of the virtual account the invoice should be paid to.
        payment_effective_date:
          type: string
          format: date
          description: 'Date transactions are to be posted to the participants'' account. Defaults to the current business day or the next business day if the current day is a bank holiday or weekend. Format: yyyy-mm-dd.'
        payment_type:
          $ref: '#/components/schemas/payment_order_type'
        payment_method:
          type: string
          enum:
          - ui
          - manual
          - automatic
          description: The method by which the invoice can be paid. `ui` will show the embedded payment collection flow. `automatic` will automatically initiate payment based upon the account details of the receiving_account id.\nIf the invoice amount is positive, the automatically initiated payment order's direction will be debit. If the invoice amount is negative, the automatically initiated payment order's direction will be credit. One of `manual`, `ui`, or `automatic`.
        fallback_payment_method:
          type: string
          nullable: true
          description: When payment_method is automatic, the fallback payment method to use when an automatic payment fails. One of `manual` or `ui`.
        notifications_enabled:
          type: boolean
          description: If true, the invoice will send email notifications to the invoice recipients about invoice status changes.
        notification_email_addresses:
          type: array
          nullable: true
          items:
            type: string
          description: Emails in addition to the counterparty email to send invoice status notifications to. At least one email is required if notifications are enabled and the counterparty doesn't have an email.
        remind_after_overdue_days:
          type: array
          nullable: true
          items:
            type: integer
          description: Number of days after due date when overdue reminder emails will be sent out to invoice recipients.
        invoice_line_items:
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/invoice_line_item_create_request'
          description: An array of invoice line items. The API supports a maximum of 50 invoice line items per invoice. If a greater number of invoice line items is required, please contact support.
        auto_advance:
          type: boolean
          nullable: true
          description: When true, the invoice will progress to unpaid automatically and cannot be edited after entering that state. If the invoice fails to progress to unpaid, the errors will be returned and the invoice will not be created.
        metadata:
          type: object
          description: Additional data represented as key-value pairs. Both the key and value must be strings.
          additionalProperties:
            type: string
          example:
            key: value
            foo: bar
            modern: treasury
          nullable: true
      required:
      - counterparty_id
      - due_date
      - originating_account_id
    address:
      type: object
      properties:
        id:
          type: string
          format: uuid
        object:
          type: string
        live_mode:
          type: boolean
          description: This field will be true if this object exists in the live environment or false if it exists in the test environment.
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        line1:
          type: string
          nullable: true
        line2:
          type: string
          nullable: true
        locality:
          type: string
          nullable: true
          description: Locality or City.
        region:
          type: string
          nullable: true
          description: Region or State.
        postal_code:
          type: string
          description: The postal code of the address.
          nullable: true
        country:
          type: string
          description: Country code conforms to [ISO 3166-1 alpha-2]
          nullable: true
      nullable: true
      additionalProperties: false
      minProperties: 11
      required:
      - id
      - object
      - live_mode
      - created_at
      - updated_at
      - line1
      - line2
      - locality
      - region
      - postal_code
      - country
    account_detail:
      type: object
      properties:
        id:
          type: string
          format: uuid
        object:
          type: string
        live_mode:
          type: boolean
          description: This field will be true if this object exists in the live environment or false if it exists in the test environment.
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        discarded_at:
          type: string
          format: date-time
          nullable: true
        account_number:
          type: string
          description: The account number for the bank account.
        account_number_type:
          type: string
          enum:
          - au_number
          - base_address
          - card_token
          - clabe
          - ethereum_address
          - hk_number
          - iban
          - id_number
          - nz_number
          - other
          - pan
          - polygon_address
          - sg_number
          - solana_address
          - wallet_address
          description: One of `iban`, `clabe`, `wallet_address`, or `other`. Use `other` if the bank account number is in a generic format.
        account_number_safe:
          type: string
          description: The last 4 digits of the account_number.
      additionalProperties: false
      minProperties: 8
      maxProperties: 9
      required:
      - id
      - object
      - live_mode
      - created_at
      - updated_at
      - discarded_at
      - account_number_type
      - account_number_safe
    internal_account:
      type: object
      properties:
        id:
          type: string
          format: uuid
        object:
          type: string
        live_mode:
          type: boolean
          description: This field will be true if this object exists in the live environment or false if it exists in the test environment.
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        account_type:
          type: string
          enum:
          - base_wallet
          - cash
          - checking
          - crypto_wallet
          - ethereum_wallet
          - general_ledger
          - loan
          - non_resident
          - other
          - overdraft
          - polygon_wallet
          - savings
          - solana_wallet
          nullable: true
          description: Can be checking, savings or other.
        party_name:
          type: string
          description: The legal name of the entity which owns the account.
        party_type:
          type: string
          enum:
          - business
          - individual
          nullable: true
          description: Either individual or business.
        party_address:
          $ref: '#/components/schemas/address'
          description: The address associated with the owner or null.
        name:
          type: string
          nullable: true
          description: A nickname for the account.
        account_details:
          type: array
          items:
            $ref: '#/components/schemas/account_detail'
          description: An array of account detail objects.
        account_capabilities:
          type: array
          description: An array of AccountCapability objects that list the originating abilities of the internal account and any relevant information for them.
          items:
            $ref: '#/components/schemas/account_capability'
        routing_details:
          type: array
          items:
            $ref: '#/components/schemas/routing_detail'
          description: An array of routing detail objects.
        connection:
          $ref: '#/components/schemas/connection'
          description: Specifies which financial institution the accounts belong to.
        currency:
          $ref: '#/components/schemas/currency'
          description: The currency of the account.
        metadata:
          type: object
          additionalProperties:
            type: string
          example:
            key: value
            foo: bar
            modern: treasury
          description: Additional data represented as key-value pairs. Both the key and value must be strings.
        parent_account_id:
          type: string
          format: uuid
          nullable: true
          description: The parent InternalAccount of this account.
        counterparty_id:
          type: string
          format: uuid
          nullable: true
          description: The Counterparty associated to this account.
        vendor_id:
          type: string
          format: string
          nullable: true
          description: The vendor ID associated with this account.
        legal_entity_id:
          type: string
          format: uuid
          nullable: true
          description: The Legal Entity associated to this account.
        status:
          type: string
          format: string
          nullable: true
          enum:
          - active
          - closed
          - pending_activation
          - pending_closure
          - suspended
          description: The internal account status.
        ledger_account_id:
          type: string
          format: uuid
          nullable: true
          description: If the internal account links to a ledger account in Modern Treasury, the id of the ledger account will be populated here.
        contra_ledger_account_id:
          type: string
          format: uuid
          nullable: true
          description: If the internal account links to a contra ledger account in Modern Treasury, the id of the contra ledger account will be populated here.
        external_id:
          type: string
          nullable: true
          description: An optional user-defined 180 character unique identifier.
      additionalProperties: false
      minProperties: 24
      required:
      - id
      - object
      - live_mode
      - created_at
      - updated_at
      - account_type
      - party_name
      - party_type
      - party_address
      - name
      - account_details
      - account_capabilities
      - routing_details
      - connection
      - currency
      - metadata
      - parent_account_id
      - counterparty_id
      - vendor_id
      - legal_entity_id
      - status
      - ledger_account_id
      - contra_ledger_account_id
      - external_id
    payment_order_type:
      type: string
      enum:
      - ach
      - au_becs
      - bacs
      - book
      - card
      - chats
      - check
      - cross_border
      - dk_nets
      - eft
      - gb_fps
      - hu_ics
      - interac
      - masav
      - mx_ccen
      - neft
      - nics
      - nz_becs
      - pl_elixir
      - provxchange
      - ro_sent
      - rtp
      - se_bankgirot
      - sen
      - sepa
      - sg_giro
      - sic
      - signet
      - sknbi
      - stablecoin
      - wire
      - zengin
      description: One of `ach`, `se_bankgirot`, `eft`, `wire`, `check`, `sen`, `book`, `rtp`, `sepa`, `bacs`, `au_becs`, `interac`, `neft`, `nics`, `nz_national_clearing_code`, `sic`, `signet`, `provexchange`, `zengin`.
    invoice:
      type: object
      properties:
        id:
          type: string
          format: uuid
        object:
          type: string
        live_mode:
          type: boolean
          description: This field will be true if this object exists in the live environment or false if it exists in the test environment.
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        contact_details:
          type: array
          items:
            $ref: '#/components/schemas/contact_detail'
          description: The invoicer's contact details displayed at the top of

# --- truncated at 32 KB (91 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/modern-treasury/refs/heads/main/openapi/modern-treasury-invoice-api-openapi.yml