openapi: 3.1.0
info:
  title: Monite Partner API
  version: "2024-05-25"
  description: The Monite REST API, for Monite partners to integrate with our solution.
  termsOfService: https://monite.com/terms
  contact:
    name: Monite team
    url: https://monite.com/about/
    email: developers@monite.com
servers:
  - url: https://api.sandbox.monite.com/v1
    description: Sandbox environment
  - url: https://api.monite.com/v1
    description: Production environment (Europe)
  - url: https://us.api.monite.com/v1
    description: Production environment (North America)
paths:
  /accounting/payables:
    get:
      tags:
        - Accounting data pull
      summary: Get payables list from accounting system
      description: |-
        Returns a list of accounts payable invoices (bills) that exist in the entity's accounting system. This requires that an accounting connection has been previously established. Refer to the [Accounting integration guide](https://docs.monite.com/accounting/integration/index) for details.

        This endpoint only provides read-only access to the accounting system's data but does not pull those payables into Monite. You can use it to review the data in the accounting system and find out which of those payables already exist or do not exist in Monite.

        Data is actual as of the date and time of the last accounting synchronization, which is specified by the `last_pull` value in the response from `GET /accounting_connections/{connection_id}`. To make sure you are accessing the most up-to-date accounting data, you can use `POST /accounting_connections/{connection_id}/sync` to trigger on-demand synchronization before getting the list of payables.
      operationId: get_accounting_payables
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: Number of results per page.
          required: false
          schema:
            type: integer
            maximum: 500
            minimum: 1
            default: 100
          name: limit
          in: query
        - description: Number of results to skip before selecting items to return.
          required: false
          schema:
            type: integer
            minimum: 0
            default: 0
          name: offset
          in: query
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountingPayableList'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /accounting/payables/{payable_id}:
    get:
      tags:
        - Accounting data pull
      summary: Get payable details from accounting system
      description: Returns information about an individual payable invoice (bill) that exists in the entity's accounting system. This payable may or may not also exist in Monite.
      operationId: get_accounting_payables_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: An internal ID of the payable invoice (bill) in the accounting system. You can get these IDs from `GET /accounting/payables`.
          required: true
          schema:
            type: string
          name: payable_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountingPayable'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /accounting/receivables:
    get:
      tags:
        - Accounting data pull
      summary: Get invoice list from accounting system
      description: |-
        Returns a list of invoices that exist in the entity's accounting system. This requires that an accounting connection has been previously established. Refer to the [Accounting integration guide](https://docs.monite.com/accounting/integration/index) for details.

        This endpoint only provides read-only access to the accounting system's data but does not pull those invoices into Monite. You can use it to review the data in the accounting system and find out which of those invoices already exist or do not exist in Monite.

        Data is actual as of the date and time of the last accounting synchronization, which is specified by the `last_pull` value in the response from `GET /accounting_connections/{connection_id}`. To make sure you are accessing the most up-to-date accounting data, you can use `POST /accounting_connections/{connection_id}/sync` to trigger on-demand synchronization before getting the invoice list.
      operationId: get_accounting_receivables
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: Number of results per page.
          required: false
          schema:
            type: integer
            maximum: 500
            minimum: 1
            default: 100
          name: limit
          in: query
        - description: Number of results to skip before selecting items to return.
          required: false
          schema:
            type: integer
            minimum: 0
            default: 0
          name: offset
          in: query
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountingReceivableList'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /accounting/receivables/{invoice_id}:
    get:
      tags:
        - Accounting data pull
      summary: Get invoice details from accounting system
      description: Returns information about an individual invoice that exists in the entity's accounting system. This invoice may or may not also exist in Monite.
      operationId: get_accounting_receivables_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: An internal ID of the invoice in the accounting system. You can get these IDs from `GET /accounting/receivables`.
          required: true
          schema:
            type: string
          name: invoice_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountingReceivable'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /accounting_connections:
    get:
      tags:
        - Accounting connections
      summary: Get accounting connections
      description: Get all connections
      operationId: get_accounting_connections
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountingConnectionList'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - Accounting connections
      summary: Connect to an accounting system
      description: Create new connection
      operationId: post_accounting_connections
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountingConnectionResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /accounting_connections/{connection_id}:
    get:
      tags:
        - Accounting connections
      summary: Get an accounting connection by ID
      description: Get connection by id
      operationId: get_accounting_connections_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: connection_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountingConnectionResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /accounting_connections/{connection_id}/disconnect:
    post:
      tags:
        - Accounting connections
      summary: Disconnect from an accounting system
      description: Disconnect
      operationId: post_accounting_connections_id_disconnect
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: connection_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountingConnectionResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /accounting_connections/{connection_id}/sync:
    post:
      tags:
        - Accounting connections
      summary: Force Sync
      operationId: post_accounting_connections_id_sync
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: connection_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "202":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountingMessageResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /accounting_synced_records:
    get:
      tags:
        - Accounting synchronized records
      summary: Get Synced Records
      description: Get synchronized records
      operationId: get_accounting_synced_records
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            $ref: '#/components/schemas/ObjectMatchTypes'
          name: object_type
          in: query
        - description: Sort order (ascending by default). Typically used together with the `sort` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/OrderEnum'
            default: asc
          name: order
          in: query
        - description: "The number of items (0 .. 250) to return in a single page of the response. Default is 100. The response may contain fewer items if it is the last or only page. \n\nWhen using pagination with a non-default `limit`, you must provide the `limit` value alongside `pagination_token` in all subsequent pagination requests. Unlike other query parameters, `limit` is not inferred from `pagination_token`."
          required: false
          schema:
            type: integer
            maximum: 250
            minimum: 1
            default: 250
          name: limit
          in: query
        - description: |-
            A pagination token obtained from a previous call to this endpoint. Use it to get the next or previous page of results for your initial query. If `pagination_token` is specified, all other query parameters except `limit` are ignored and inferred from the initial query.

            If not specified, the first page of results will be returned.
          required: false
          schema:
            type: string
          name: pagination_token
          in: query
        - description: The field to sort the results by. Typically used together with the `order` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/SyncRecordCursorFields'
          name: sort
          in: query
        - required: false
          schema:
            type: string
            format: uuid
          name: object_id
          in: query
        - required: false
          schema:
            items:
              type: string
              format: uuid
            type: array
            minItems: 1
          name: object_id__in
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__gt
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__lt
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__gte
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__lte
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: updated_at__gt
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: updated_at__lt
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: updated_at__gte
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: updated_at__lte
          in: query
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SyncRecordResourceList'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /accounting_synced_records/{synced_record_id}:
    get:
      tags:
        - Accounting synchronized records
      summary: Get Single Synced Record
      description: Get synchronized record by id
      operationId: get_accounting_synced_records_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: synced_record_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SyncRecordResource'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /accounting_synced_records/{synced_record_id}/push:
    post:
      tags:
        - Accounting synchronized records
      summary: Push Object
      description: Push object to the accounting system manually
      operationId: post_accounting_synced_records_id_push
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: synced_record_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SyncRecordResource'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /accounting_tax_rates:
    get:
      tags:
        - Accounting tax rates
      summary: Get tax rates
      description: |-
        Returns the combined set of tax and VAT rates that were created by the entity and those fetched from the connected [accounting system](https://docs.monite.com/accounting/integration/index) (if any).

        Tax rates added manually by the entity have `is_external`=`false` and can only be used in receipt line items.

        Tax rates fetched from accounting systems have `is_external`=`true`. These tax rates can be attached to line items in payables and receivables if these documents need to be synchronized from Monite into accounting systems.

        **Note:** Tax rates returned from this endpoint are different from [`/custom_vat_rates`](https://docs.monite.com/api/custom-vat-rates/post-custom-vat-rates) and [`/vat_rates`](https://docs.monite.com/api/vat-rates/get-vat-rates) which are used in [accounts receivable](https://docs.monite.com/accounts-receivable/index)
      operationId: get_accounting_tax_rates
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: Sort order (ascending by default). Typically used together with the `sort` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/OrderEnum'
            default: asc
          name: order
          in: query
        - description: "The number of items (0 .. 250) to return in a single page of the response. Default is 100. The response may contain fewer items if it is the last or only page. \n\nWhen using pagination with a non-default `limit`, you must provide the `limit` value alongside `pagination_token` in all subsequent pagination requests. Unlike other query parameters, `limit` is not inferred from `pagination_token`."
          required: false
          schema:
            type: integer
            maximum: 250
            minimum: 1
            default: 250
          name: limit
          in: query
        - description: |-
            A pagination token obtained from a previous call to this endpoint. Use it to get the next or previous page of results for your initial query. If `pagination_token` is specified, all other query parameters except `limit` are ignored and inferred from the initial query.

            If not specified, the first page of results will be returned.
          required: false
          schema:
            type: string
          name: pagination_token
          in: query
        - description: The field to sort the results by. Typically used together with the `order` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/TaxRateAccountCursorFields2'
          name: sort
          in: query
        - description: Filter by external/internal tax rates
          required: false
          schema:
            type: boolean
          name: is_external
          in: query
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountingTaxRateListResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - Accounting tax rates
      summary: Create a tax rate
      description: |-
        Create a tax or VAT rate for use in [expense management](https://docs.monite.com/expense-management/index). You can attach the created tax rates to line items in receipts via the `accounting_tax_rate_id` field of line items.

        **Note:** These tax rates are different from [`/custom_vat_rates`](https://docs.monite.com/api/custom-vat-rates/post-custom-vat-rates) and [`/vat_rates`](https://docs.monite.com/api/vat-rates/get-vat-rates) which are used in [accounts receivable](https://docs.monite.com/accounts-receivable/index).
      operationId: post_accounting_tax_rates
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountingTaxRateCreateRequest'
        required: true
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountingTaxRateResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /accounting_tax_rates/{tax_rate_id}:
    get:
      tags:
        - Accounting tax rates
      summary: Get a tax rate by ID
      description: Get tax rate account by id
      operationId: get_accounting_tax_rates_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: tax_rate_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountingTaxRateResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    patch:
      tags:
        - Accounting tax rates
      summary: Update a tax rate
      description: |-
        Only tax rates that were manually added by the entity (as indicated by `is_external` = `false`) can be updated.

        Tax rates fetched from accounting systems as part of the [accounting integration](https://docs.monite.com/accounting/integration/index) (indicated by `is_external` = `true`) cannot be updated from within Monite.
      operationId: patch_accounting_tax_rates_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: tax_rate_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountingTaxRateUpdateRequest'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountingTaxRateResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    delete:
      tags:
        - Accounting tax rates
      summary: Delete a tax rate
      description: |-
        Only tax rates that were manually added by the entity (as indicated by `is_external` = `false`) can be deleted.

        Tax rates fetched from accounting systems as part of the [accounting integration](https://docs.monite.com/accounting/integration/index) (indicated by `is_external` = `true`) cannot be deleted.
      operationId: delete_accounting_tax_rates_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: tax_rate_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "204":
          description: Successful Response
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /analytics/credit_notes:
    get:
      tags:
        - Analytics
      summary: Get credit notes analytics
      description: Retrieve aggregated statistics for payables with different breakdowns.
      operationId: get_analytics_credit_notes
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: false
          schema:
            $ref: '#/components/schemas/CreditNoteDimensionEnum'
          name: dimension
          in: query
        - required: true
          schema:
            $ref: '#/components/schemas/CreditNoteMetricEnum'
          name: metric
          in: query
        - required: true
          schema:
            $ref: '#/components/schemas/AggregationFunctionEnum'
          name: aggregation_function
          in: query
        - required: false
          schema:
            $ref: '#/components/schemas/DateDimensionBreakdownEnum'
          name: date_dimension_breakdown
          in: query
        - description: The number of items (0 .. 400) to return in a single page of the response. The response may contain fewer items if it is the last or only page.
          required: false
          schema:
            type: integer
            maximum: 400
            minimum: 1
            default: 100
          name: limit
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__gt
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__lt
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__gte
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__lte
          in: query
        - required: false
          schema:
            type: string
            format: date
          name: issued_at
          in: query
        - required: false
          schema:
            type: string
            format: date
          name: issued_at__gt
          in: query
        - required: false
          schema:
            type: string
            format: date
          name: issued_at__lt
          in: query
        - required: false
          schema:
            type: string
            format: date
          name: issued_at__gte
          in: query
        - required: false
          schema:
            type: string
            format: date
          name: issued_at__lte
          in: query
        - required: false
          schema:
            type: string
          name: document_id
          in: query
        - required: false
          schema:
            type: string
          name: document_id__iexact
          in: query
        - required: false
          schema:
            type: string
          name: document_id__contains
          in: query
        - required: false
          schema:
            type: string
          name: document_id__icontains
          in: query
        - required: false
          schema:
            type: boolean
          name: has_file
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: total_amount__gt
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: total_amount__lt
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: total_amount__gte
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: total_amount__lte
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: subtotal__gt
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: subtotal__lt
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: subtotal__gte
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: subtotal__lte
          in: query
        - required: false
          schema:
            type: string
            format: uuid
          name: based_on
          in: query
        - required: false
          schema:
            type: string
            format: uuid
          name: counterpart_id
          in: query
        - required: false
          schema:
            type: string
            format: uuid
          name: created_by_entity_user_id
          in: query
        - required: false
          schema:
            $ref: '#/components/schemas/PayableCreditNoteStateEnum'
          name: status
          in: query
        - required: false
          schema:
            items:
              $ref: '#/components/schemas/PayableCreditNoteStateEnum'
            type: array
          name: status__in
          in: query
        - required: false
          schema:
            items:
              $ref: '#/components/schemas/PayableCreditNoteStateEnum'
            type: array
          name: status__not_in
          in: query
        - required: false
          schema:
            $ref: '#/components/schemas/OriginEnum'
          name: origin
          in: query
        - required: false
          schema:
            $ref: '#/components/schemas/CurrencyEnum'
          name: currency
          in: query
        - required: false
          schema:
            type: string
            format: uuid
          name: project_id
          in: query
        - required: false
          schema:
            items:
              type: string
              format: uuid
            type: array
          name: project_id__in
          in: query
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayableAnalyticsResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /analytics/payables:
    get:
      tags:
        - Analytics
      summary: Get payables analytics
      description: Retrieve aggregated statistics for payables with different breakdowns.
      operationId: get_analytics_payables
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: false
          schema:
            $ref: '#/components/schemas/PayableDimensionEnum'
          name: dimension
          in: query
        - required: true
          schema:
            $ref: '#/components/schemas/PayableMetricEnum'
          name: metric
          in: query
        - required: true
          schema:
            $ref: '#/components/schemas/AggregationFunctionEnum'
          name: aggregation_function
          in: query
        - required: false
          schema:
            $ref: '#/components/schemas/DateDimensionBreakdownEnum'
          name: date_dimension_breakdown
          in: query
        - description: The number of items (0 .. 400) to return in a single page of the response. The response may contain fewer items if it is the last or only page.
          required: false
          schema:
            type: integer
            maximum: 400
            minimum: 1
            default: 100
          name: limit
          in: query
        - description: Return only payables created in Monite after the specified date and time. The value must be in the ISO 8601 format YYYY-MM-DDThh:mm[:ss[.ffffff]][Z|±hh:mm].
          required: false
          schema:
            type: string
            format: date-time
          name: created_at__gt
          in: query
        - description: Return only payables created in Monite before the specified date and time.
          required: false
          schema:
            type: string
            format: date-time
          name: created_at__lt
          in: query
        - description: Return only payables created in Monite on or after the specified date and time.
          required: false
          schema:
            type: string
            format: date-time
          name: created_at__gte
          in: query
        - description: Return only payables created in Monite before or on the specified date and time.
          required: false
          schema:
            type: string
            format: date-time
          name: created_at__lte
          in: query
        - description: |-
            Return only payables that have the specified [status](https://docs.monite.com/accounts-payable/payables/index).

            To query multiple statuses at once, use the `status__in` parameter instead.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/PayableStateEnum'
          name: status
          in: query
        - description: |-
            Return only payables that have the specified [statuses](https://docs.monite.com/accounts-payable/payables/index).

            To specify multiple statuses, repeat this parameter for each value: `status__in=draft&status__in=new`
          required: false
          schema:
            items:
              $ref: '#/components/schemas/PayableStateEnum'
            type: array
          name: status__in
          in: query
        - description: |-
            Return only payables with specified IDs. Valid but nonexistent IDs do not raise errors but produce no results.

            To specify multiple IDs, repeat this parameter for each value: `id__in=<id1>&id__in=<id2>`
          required: false
          schema:
            items:
              type: string
              format: uuid
            type: array
          name: id__in
          in: query
        - description: Return only payables with the exact specified total amount. The amount must be specified in the minor units of currency. For example, $12.5 is represented as 1250.
          required: false
          schema:
            type: integer
          name: total_amount
          in: query
        - description: Return only payables whose total amount (in minor units) exceeds the specified value.
          required: false
          schema:
            type: integer
          name: total_amount__gt
          in: query
        - description: Return only payables whose total amount (in minor units) is less than the specified value.
          required: false
          schema:
            type: integer
          name: total_amount__lt
          in: query
        - description: Return only payables whose total amount (in minor units) is greater than or equal to the specified value.
          required: false
          schema:
            type: integer
          name: total_amount__gte
          in: query
        - description: Return only payables whose total amount (in minor units) is less than or equal to the specified value.
          required: false
          schema:
            type: integer
          name: total_amount__lte
          in: query
        - description: Return only payables with the specified amount.
          required: false
          schema:
            type: integer
          name: amount
          in: query
        - description: Return only payables whose amount (in minor units) exceeds the specified value.
          required: false
          schema:
            type: integer
          name: amount__gt
          in: query
        - description: Return only payables whose amount (in minor units) is less than the specified value.
          required: false
          schema:
            type: integer
          name: amount__lt
          in: query
        - description: Return only payables whose amount (in minor units) is greater than or equal to the specified value.
          required: false
          schema:
            type: integer
          name: amount__gte
          in: query
        - description: Return only payables whose amount (in minor units) is less than or equal to the specified value.
          required: false
          schema:
            type: integer
          name: amount__lte
          in: query
        - description: Return only payables that use the specified currency.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/CurrencyEnum'
          name: currency
          in: query
        - description: |-
            Return only payables received from counterparts with the specified name (exact match, case-sensitive).

            For counterparts of `type = individual`, the full name is formatted as `first_name last_name`.
          required: false
          schema:
            type: string
          name: counterpart_name
          in: query
        - description: Return only payables received from counterparts whose name contains the specified string (case-sensitive).
          required: false
          schema:
            type: string
          name: counterpart_name__contains
          in: query
        - description: Return only payables received from counterparts whose name contains the specified string (case-insensitive).
          required: false
          schema:
            type: string
          name: counterpart_name__icontains
          in: query
        - description: Apply the `icontains` condition to search for the specified text in the `document_id` and `counterpart_name` fields in the payables.
          required: false
          schema:
            type: string
          name: search_text
          in: query
        - description: Return payables that are due on the specified date (YYYY-MM-DD)
          required: false
          schema:
            type: string
            format: date
          name: due_date
          in: query
        - description: Return payables that are due after the specified date (exclusive, YYYY-MM-DD).
          required: false
          schema:
            type: string
            format: date
          name: due_date__gt
          in: query
        - description: Return payables that are due before the specified date (exclusive, YYYY-MM-DD).
          required: false
          schema:
            type: string
            format: date
          name: due_date__lt
          in: query
        - description: Return payables that are due on or after the specified date (YYYY-MM-DD).
          required: false
          schema:
            type: string
            format: date
          name: due_date__gte
          in: query
        - description: Return payables that are due before or on the specified date (YYYY-MM-DD).
          required: false
          schema:
            type: string
            format: date
          name: due_date__lte
          in: query
        - description: Return payables that are issued at the specified date (YYYY-MM-DD)
          required: false
          schema:
            type: string
            format: date
          name: issued_at
          in: query
        - description: Return payables that are issued after the specified date (exclusive, YYYY-MM-DD).
          required: false
          schema:
            type: string
            format: date
          name: issued_at__gt
          in: query
        - description: Return payables that are issued before the specified date (exclusive, YYYY-MM-DD).
          required: false
          schema:
            type: string
            format: date
          name: issued_at__lt
          in: query
        - description: Return payables that are issued on or after the specified date (YYYY-MM-DD).
          required: false
          schema:
            type: string
            format: date
          name: issued_at__gte
          in: query
        - description: Return payables that are issued before or on the specified date (YYYY-MM-DD).
          required: false
          schema:
            type: string
            format: date
          name: issued_at__lte
          in: query
        - description: |-
            Return a payable with the exact specified document number (case-sensitive).

            The `document_id` is the user-facing document number such as INV-00042, not to be confused with Monite resource IDs (`id`).
          required: false
          schema:
            type: string
          name: document_id
          in: query
        - description: Return only payables whose document number (`document_id`) contains the specified string (case-sensitive).
          required: false
          schema:
            type: string
          name: document_id__contains
          in: query
        - description: Return only payables whose document number (`document_id`) contains the specified string (case-insensitive).
          required: false
          schema:
            type: string
          name: document_id__icontains
          in: query
        - description: Return only payables created in Monite by the entity user with the specified ID.
          required: false
          schema:
            type: string
            format: uuid
          name: was_created_by_user_id
          in: query
        - description: |-
            Return only payables received from the counterpart with the specified ID.

            Counterparts that have been deleted but have associated payables will still return results here because the payables contain a frozen copy of the counterpart data.

            If the specified counterpart ID does not exist and never existed, no results are returned.
          required: false
          schema:
            type: string
            format: uuid
          name: counterpart_id
          in: query
        - description: Return only payables coming from the specified source.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/SourceOfPayableDataEnum'
          name: source_of_payable_data
          in: query
        - description: Return only payables with specific OCR statuses.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/OcrStatusEnum'
          name: ocr_status
          in: query
        - description: Search for a payable by the identifier of the line item associated with it.
          required: false
          schema:
            type: string
            format: uuid
          name: line_item_id
          in: query
        - description: Search for a payable by the identifier of the purchase order associated with it.
          required: false
          schema:
            type: string
            format: uuid
          name: purchase_order_id
          in: query
        - description: |-
            Return only payables assigned to the project with the specified ID.

            Valid but nonexistent project IDs do not raise errors but return no results.
          required: false
          schema:
            type: string
            format: uuid
          name: project_id
          in: query
        - description: Return only payables whose `project_id` include at least one of the project_id with the specified IDs. Valid but nonexistent project IDs do not raise errors but produce no results.
          required: false
          schema:
            items:
              type: string
              format: uuid
            type: array
          name: project_id__in
          in: query
        - description: Return only payables whose `tags` include at least one of the tags with the specified IDs. Valid but nonexistent tag IDs do not raise errors but produce no results.
          required: false
          schema:
            items:
              type: string
              format: uuid
            type: array
          name: tag_ids
          in: query
        - description: Return only payables whose `tags` do not include any of the tags with the specified IDs. Valid but nonexistent tag IDs do not raise errors but produce the results.
          required: false
          schema:
            items:
              type: string
              format: uuid
            type: array
          name: tag_ids__not_in
          in: query
        - description: Filter objects based on whether they have tags. If true, only objects with tags are returned. If false, only objects without tags are returned.
          required: false
          schema:
            type: boolean
          name: has_tags
          in: query
        - description: Return only payables from a given origin ['einvoice', 'upload', 'email']
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/PayableOriginEnum'
          name: origin
          in: query
        - description: Return only payables with or without attachments (files)
          required: false
          schema:
            type: boolean
          name: has_file
          in: query
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayableAnalyticsResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /analytics/receivables:
    get:
      tags:
        - Analytics
      summary: Get receivables analytics
      description: Retrieve aggregated statistics for receivables with different breakdowns.
      operationId: get_analytics_receivables
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: false
          schema:
            $ref: '#/components/schemas/ReceivableDimensionEnum'
          name: dimension
          in: query
        - required: true
          schema:
            $ref: '#/components/schemas/ReceivableMetricEnum'
          name: metric
          in: query
        - required: true
          schema:
            $ref: '#/components/schemas/AggregationFunctionEnum'
          name: aggregation_function
          in: query
        - required: false
          schema:
            $ref: '#/components/schemas/DateDimensionBreakdownEnum'
          name: date_dimension_breakdown
          in: query
        - description: Sort order (ascending by default). Typically used together with the `sort` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/OrderEnum'
            default: asc
          name: order
          in: query
        - description: "The number of items (0 .. 250) to return in a single page of the response. Default is 100. The response may contain fewer items if it is the last or only page. \n\nWhen using pagination with a non-default `limit`, you must provide the `limit` value alongside `pagination_token` in all subsequent pagination requests. Unlike other query parameters, `limit` is not inferred from `pagination_token`."
          required: false
          schema:
            type: integer
            maximum: 250
            minimum: 1
            default: 100
          name: limit
          in: query
        - description: |-
            A pagination token obtained from a previous call to this endpoint. Use it to get the next or previous page of results for your initial query. If `pagination_token` is specified, all other query parameters except `limit` are ignored and inferred from the initial query.

            If not specified, the first page of results will be returned.
          required: false
          schema:
            type: string
          name: pagination_token
          in: query
        - description: |-
            Return only receivables with the specified IDs. Valid but nonexistent IDs do not raise errors but produce no results.

            To specify multiple IDs, repeat this parameter for each value:
            `id__in=<id1>&id__in=<id2>`
          required: false
          schema:
            items:
              type: string
              format: uuid
            type: array
          name: id__in
          in: query
        - description: |-
            Return only receivables that have the specified statuses. See the applicable [invoice statuses](https://docs.monite.com/accounts-receivable/invoices/index), [quote statuses](https://docs.monite.com/accounts-receivable/quotes/index), and [credit note statuses](https://docs.monite.com/accounts-receivable/credit-notes#credit-note-lifecycle).

            To specify multiple statuses, repeat this parameter for each value:
            `status__in=draft&status__in=issued`
          required: false
          schema:
            items:
              type: string
              enum:
                - draft
                - issuing
                - issued
                - failed
                - accepted
                - expired
                - declined
                - recurring
                - partially_paid
                - paid
                - overdue
                - uncollectible
                - canceled
            type: array
          name: status__in
          in: query
        - description: |-
            Return only receivables created by the entity users with the specified IDs.To specify multiple user IDs, repeat this parameter for each ID:
            `entity_user_id__in=<user1>&entity_user_id__in=<user2>`

            If the request is authenticated using an entity user token, this user must have the `receivable.read.allowed` (rather than `allowed_for_own`) permission to be able to query receivables created by other users.

            IDs of deleted users will still produce results here if those users had associated receivables. Valid but nonexistent user IDs do not raise errors but produce no results.
          required: false
          schema:
            items:
              type: string
              format: uuid
            type: array
          name: entity_user_id__in
          in: query
        - description: The field to sort the results by. Typically used together with the `order` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/ReceivableCursorFields'
          name: sort
          in: query
        - description: |-
            Return only receivables whose [tags](https://docs.monite.com/common/tags) include at least one of the tags with the specified IDs.

            For example, given receivables with the following tags:
            1. tagA
            2. tagB
            3. tagA, tagB
            4. tagC
            5. tagB, tagC


            `tag_ids__in=<tagA>&tag_ids__in=<tagB>` will return receivables 1, 2, 3, and 5.

            Valid but nonexistent tag IDs do not raise errors but produce no results.
          required: false
          schema:
            items:
              type: string
              format: uuid
            type: array
          name: tag_ids__in
          in: query
        - description: |-
            Return only receivables whose [tags](https://docs.monite.com/common/tags) include all of the tags with the specified IDs and optionally other tags that are not specified.

            For example, given receivables with the following tags:
            1. tagA
            2. tagB
            3. tagA, tagB
            4. tagC
            5. tagA, tagB, tagC


            `tag_ids=<tagA>&tag_ids=<tagB>` will return receivables 3 and 5.
          required: false
          schema:
            items:
              type: string
              format: uuid
            type: array
          name: tag_ids
          in: query
        - description: "Return only receivables whose line items include at least one of the product IDs with the specified IDs. \n\nTo specify multiple product IDs, repeat this parameter for each ID:\n`product_ids__in=<product1>&product_ids__in=<product2>`\n\nFor example, given receivables with the following product IDs:\n1. productA\n2. productB\n3. productA, productB\n4. productC\n5. productB, productC\n\n\n`product_ids__in=<productA>&product_ids__in=<productB>` will return receivables 1, 2, 3, and 5.Valid but nonexistent product IDs do not raise errors but produce no results."
          required: false
          schema:
            items:
              type: string
              format: uuid
            type: array
          name: product_ids__in
          in: query
        - description: "Return only receivables whose line items include all of the product IDs with the specified IDs and optionally other products that are not specified. \n\nTo specify multiple product IDs, repeat this parameter for each ID:\n`product_ids=<product1>&product_ids=<product2>`\n\nFor example, given receivables with the following product IDs:\n1. productA\n2. productB\n3. productA, productB\n4. productC\n5. productA, productB, productC\n\n\n`product_ids=<productA>&product_ids=<productB>` will return receivables 3 and 5.\n\n"
          required: false
          schema:
            items:
              type: string
              format: uuid
            type: array
          name: product_ids
          in: query
        - description: Return only receivables whose `project_id` include at least one of the project_id with the specified IDs. Valid but nonexistent project IDs do not raise errors but produce no results.
          required: false
          schema:
            items:
              type: string
              format: uuid
            type: array
          name: project_id__in
          in: query
        - required: false
          schema:
            $ref: '#/components/schemas/ReceivableType'
          name: type
          in: query
          description: Return only receivables of the specified type. Use this parameter to get only invoices, or only quotes, or only credit notes.
        - required: false
          schema:
            type: string
          name: document_id
          in: query
          description: Return a receivable with the exact specified document number (case-sensitive). The `document_id` is the user-facing document number such as INV-00042, not to be confused with Monite resource IDs (`id`).
        - required: false
          schema:
            type: string
          name: document_id__contains
          in: query
          description: Return only receivables whose document number (`document_id`) contains the specified string (case-sensitive).
        - required: false
          schema:
            type: string
          name: document_id__icontains
          in: query
          description: Return only receivables whose document number (`document_id`) contains the specified string (case-insensitive).
        - required: false
          schema:
            type: string
            format: date-time
          name: issue_date__gt
          in: query
          description: Return only non-draft receivables that were issued after the specified date and time. The value must be in the ISO 8601 format `YYYY-MM-DDThh:mm[:ss][Z|±hh:mm]`. The milliseconds part of the value is ignored.
        - required: false
          schema:
            type: string
            format: date-time
          name: issue_date__lt
          in: query
          description: Return only non-draft receivables that were issued before the specified date and time. The milliseconds part of the value is ignored.
        - required: false
          schema:
            type: string
            format: date-time
          name: issue_date__gte
          in: query
          description: Return only non-draft receivables that were issued on or after the specified date and time. The milliseconds part of the value is ignored.
        - required: false
          schema:
            type: string
            format: date-time
          name: issue_date__lte
          in: query
          description: Return only non-draft receivables that were issued before or on the specified date and time. The milliseconds part of the value is ignored.
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__gt
          in: query
          description: Return only receivables created after the specified date and time. The value must be in the ISO 8601 format `YYYY-MM-DDThh:mm[:ss][Z|±hh:mm]`. The milliseconds part of the value is ignored.
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__lt
          in: query
          description: Return only receivables created before the specified date and time. The milliseconds part of the value is ignored.
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__gte
          in: query
          description: Return only receivables created on or after the specified date and time. The milliseconds part of the value is ignored.
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__lte
          in: query
          description: Return only receivables created before or on the specified date and time. The milliseconds part of the value is ignored.
        - required: false
          schema:
            type: string
            format: uuid
          name: counterpart_id
          in: query
          description: |-
            Return only receivables created for the counterpart with the specified ID.

            Counterparts that have been deleted but have associated receivables will still return results here because the receivables contain a frozen copy of the counterpart data.

            If the specified counterpart ID does not exist and never existed, no results are returned.
        - required: false
          schema:
            type: string
          name: counterpart_name
          in: query
          description: Return only receivables created for counterparts with the specified name (exact match, case-sensitive). For counterparts of `type` = `individual`, the full name is formatted as `first_name last_name`.
        - required: false
          schema:
            type: string
          name: counterpart_name__contains
          in: query
          description: Return only receivables created for counterparts whose name contains the specified string (case-sensitive).
        - required: false
          schema:
            type: string
          name: counterpart_name__icontains
          in: query
          description: Return only receivables created for counterparts whose name contains the specified string (case-insensitive).
        - required: false
          schema:
            type: integer
          name: total_amount
          in: query
          description: Return only receivables with the exact specified total amount. The amount must be specified in the [minor units](https://docs.monite.com/references/currencies#minor-units) of currency. For example, $12.5 is represented as 1250."
        - required: false
          schema:
            type: integer
          name: total_amount__gt
          in: query
          description: Return only receivables whose total amount (in minor units) exceeds the specified value.
        - required: false
          schema:
            type: integer
          name: total_amount__lt
          in: query
          description: Return only receivables whose total amount (in minor units) is less than the specified value.
        - required: false
          schema:
            type: integer
          name: total_amount__gte
          in: query
          description: Return only receivables whose total amount (in minor units) is greater than or equal to the specified value.
        - required: false
          schema:
            type: integer
          name: total_amount__lte
          in: query
          description: Return only receivables whose total amount (in minor units) is less than or equal to the specified value.
        - required: false
          schema:
            type: integer
          name: discounted_subtotal
          in: query
          description: Return only receivables with the exact specified discounted subtotal. The amount must be specified in the [minor units](https://docs.monite.com/references/currencies#minor-units) of currency. For example, $12.5 is represented as 1250.
        - required: false
          schema:
            type: integer
          name: discounted_subtotal__gt
          in: query
          description: Return only receivables whose discounted subtotal (in minor units) is greater than the specified value.
        - required: false
          schema:
            type: integer
          name: discounted_subtotal__lt
          in: query
          description: Return only receivables whose discounted subtotal (in minor units) is less than the specified value.
        - required: false
          schema:
            type: integer
          name: discounted_subtotal__gte
          in: query
          description: Return only receivables whose discounted subtotal (in minor units) is greater than or equal to the specified value.
        - required: false
          schema:
            type: integer
          name: discounted_subtotal__lte
          in: query
          description: Return only receivables whose discounted subtotal (in minor units) is less than or equal to the specified value.
        - required: false
          schema:
            type: string
            enum:
              - draft
              - issuing
              - issued
              - failed
              - accepted
              - expired
              - declined
              - recurring
              - partially_paid
              - paid
              - overdue
              - uncollectible
              - canceled
          name: status
          in: query
          description: |-
            Return only receivables that have the specified status. See the applicable [invoice statuses](https://docs.monite.com/accounts-receivable/invoices/index), [quote statuses](https://docs.monite.com/accounts-receivable/quotes/index), and [credit note statuses](https://docs.monite.com/accounts-receivable/credit-notes#credit-note-lifecycle).

            To query multiple statuses at once, use the `status__in` parameter instead.
        - required: false
          schema:
            type: string
            format: uuid
          name: entity_user_id
          in: query
          description: |-
            Return only receivables created by the entity users with the specified IDs. To specify multiple user IDs, repeat this parameter for each ID:
            `entity_user_id__in=<user1>&entity_user_id__in=<user2>`

            If the request is authenticated using an entity user token, this user must have the `receivable.read.allowed` (rather than `allowed_for_own`) permission to be able to query receivables created by other users.

            IDs of deleted users will still produce results here if those users had associated receivables. Valid but nonexistent user IDs do not raise errors but produce no results.
        - required: false
          schema:
            type: string
            format: uuid
          name: based_on
          in: query
          description: |-
            This parameter accepts a quote ID or an invoice ID.

             * Specify a quote ID to find invoices created from this quote.
             * Specify an invoice ID to find credit notes created for this invoice or find recurring invoices created from a base invoice.

            Valid but nonexistent IDs do not raise errors but produce no results.
        - required: false
          schema:
            type: string
            format: date
          name: due_date__gt
          in: query
          description: |-
            Return receivables whose due date is after the specified date (exclusive, `YYYY-MM-DD`).

            This filter includes invoices and credit notes (only those with a due date) and excludes quotes.
        - required: false
          schema:
            type: string
            format: date
          name: due_date__lt
          in: query
          description: |-
            Return receivables whose due date is before the specified date (exclusive, `YYYY-MM-DD`).

            This filter includes invoices and credit notes (only those with a due date) and excludes quotes.
        - required: false
          schema:
            type: string
            format: date
          name: due_date__gte
          in: query
          description: |-
            Return receivables whose due date is on or after the specified date (`YYYY-MM-DD`).

            This filter includes invoices and credit notes (only those with a due date) and excludes quotes.
        - required: false
          schema:
            type: string
            format: date
          name: due_date__lte
          in: query
          description: |-
            Return receivables whose due date is before or on the specified date (`YYYY-MM-DD`).

            This filter includes invoices and credit notes (only those with a due date) and excludes quotes.
        - required: false
          schema:
            type: boolean
          name: has_due_date
          in: query
          description: |-
            If `true`, returns only invoices and credit notes that have the `due_date` defined.

            If `false`, returns receivables (invoices, quotes, credit notes) without a `due_date`.

            If omitted (default), all receivables are included.
        - required: false
          schema:
            type: string
            format: uuid
          name: project_id
          in: query
          description: Return only receivables assigned to the project with the specified ID. Valid but nonexistent project IDs do not raise errors but return no results.
        - required: false
          schema:
            type: string
          name: search_text
          in: query
          description: Searches for the specified substring in the `counterpart_name` and `document_id` fields in receivables. The search is case-insensitive and allows partial matches. For example, `abc` will match `12-ABCD`.
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReceivablesAnalyticsResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /approval_policies:
    get:
      tags:
        - Approval policies
      summary: Get approval policies
      description: Retrieve a list of all approval policies with pagination.
      operationId: get_approval_policies
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: false
          schema:
            type: string
            format: uuid
          name: process_id
          in: query
        - description: Sort order (ascending by default). Typically used together with the `sort` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/OrderEnum'
            default: asc
          name: order
          in: query
        - description: The number of items (0 .. 100) to return in a single page of the response. The response may contain fewer items if it is the last or only page.
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            default: 100
          name: limit
          in: query
        - description: |-
            A pagination token obtained from a previous call to this endpoint. Use it to get the next or previous page of results for your initial query. If `pagination_token` is specified, all other query parameters are ignored and inferred from the initial query.

            If not specified, the first page of results will be returned.
          required: false
          schema:
            type: string
          name: pagination_token
          in: query
        - description: The field to sort the results by. Typically used together with the `order` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/ApprovalPolicyCursorFields'
          name: sort
          in: query
        - required: false
          schema:
            items:
              type: string
              format: uuid
            type: array
          name: id__in
          in: query
        - required: false
          schema:
            type: string
            enum:
              - active
              - pending
          name: status
          in: query
        - required: false
          schema:
            items:
              type: string
              enum:
                - active
                - pending
            type: array
          name: status__in
          in: query
        - required: false
          schema:
            type: string
          name: name
          in: query
        - required: false
          schema:
            type: string
          name: name__contains
          in: query
        - required: false
          schema:
            type: string
          name: name__ncontains
          in: query
        - required: false
          schema:
            type: string
            format: uuid
          name: created_by
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__gt
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__lt
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__gte
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__lte
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: updated_at__gt
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: updated_at__lt
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: updated_at__gte
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: updated_at__lte
          in: query
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApprovalPolicyResourceList'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - Approval policies
      summary: Create an approval policy
      description: Create a new approval policy.
      operationId: post_approval_policies
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApprovalPolicyCreate'
        required: true
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApprovalPolicyResource'
        "400":
          description: 'Possible responses: `Script validation error: {errors}.`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /approval_policies/{approval_policy_id}:
    get:
      tags:
        - Approval policies
      summary: Get an approval policy by ID
      description: Retrieve a specific approval policy.
      operationId: get_approval_policies_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: approval_policy_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApprovalPolicyResource'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    patch:
      tags:
        - Approval policies
      summary: Update an approval policy
      description: Update an existing approval policy.
      operationId: patch_approval_policies_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: approval_policy_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApprovalPolicyUpdate'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApprovalPolicyResource'
        "400":
          description: 'Possible responses: `Script validation error: {errors}.`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    delete:
      tags:
        - Approval policies
      summary: Delete an approval policy
      description: Delete an existing approval policy.
      operationId: delete_approval_policies_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: approval_policy_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "204":
          description: Successful Response
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /approval_policies/{approval_policy_id}/processes:
    get:
      tags:
        - Approval policies
      summary: Get approval processes created from a policy
      description: Retrieve a list of all approval policy processes.
      operationId: get_approval_policies_id_processes
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: approval_policy_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApprovalProcessResourceList'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /approval_policies/{approval_policy_id}/processes/{process_id}:
    get:
      tags:
        - Approval policies
      summary: Get an approval process by ID
      description: Retrieve a specific approval policy process.
      operationId: get_approval_policies_id_processes_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: approval_policy_id
          in: path
        - required: true
          schema:
            type: string
            format: uuid
          name: process_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProcessResource'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: 'Possible responses: `Approval policy with ID {id} not found.`, `Approval policy process with ID {id} not found.`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /approval_policies/{approval_policy_id}/processes/{process_id}/cancel:
    post:
      tags:
        - Approval policies
      summary: Cancel an approval process
      description: Cancel an ongoing approval process for a specific approval policy.
      operationId: post_approval_policies_id_processes_id_cancel
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: approval_policy_id
          in: path
        - required: true
          schema:
            type: string
            format: uuid
          name: process_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProcessResource'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: 'Possible responses: `Approval policy with ID {id} not found.`, `Approval policy process with ID {id} not found.`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: 'Possible responses: `Action is not allowed for approval policy process with id {id} because it is not in one of the following statuses: {possible_statuses}`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /approval_policies/{approval_policy_id}/processes/{process_id}/steps:
    get:
      tags:
        - Approval policies
      summary: Get the steps of an approval process
      description: Retrieve a list of approval policy process steps.
      operationId: get_approval_policies_id_processes_id_steps
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: approval_policy_id
          in: path
        - required: true
          schema:
            type: string
            format: uuid
          name: process_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApprovalProcessStepResourceList'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: 'Possible responses: `Approval policy with ID {id} not found.`, `Approval policy process with ID {id} not found.`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /approval_requests:
    get:
      tags:
        - Approval requests
      summary: Get approval requests
      operationId: get_approval_requests
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: Sort order (ascending by default). Typically used together with the `sort` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/OrderEnum'
            default: asc
          name: order
          in: query
        - description: The number of items (0 .. 100) to return in a single page of the response. The response may contain fewer items if it is the last or only page.
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            default: 100
          name: limit
          in: query
        - description: |-
            A pagination token obtained from a previous call to this endpoint. Use it to get the next or previous page of results for your initial query. If `pagination_token` is specified, all other query parameters are ignored and inferred from the initial query.

            If not specified, the first page of results will be returned.
          required: false
          schema:
            type: string
          name: pagination_token
          in: query
        - description: The field to sort the results by. Typically used together with the `order` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/ApprovalRequestCursorFields'
          name: sort
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__gt
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__lt
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__gte
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__lte
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: updated_at__gt
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: updated_at__lt
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: updated_at__gte
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: updated_at__lte
          in: query
        - required: false
          schema:
            type: string
            format: uuid
          name: object_id
          in: query
        - required: false
          schema:
            items:
              type: string
              format: uuid
            type: array
          name: object_id__in
          in: query
        - required: false
          schema:
            $ref: '#/components/schemas/ApprovalRequestStatus'
          name: status
          in: query
        - required: false
          schema:
            items:
              $ref: '#/components/schemas/ApprovalRequestStatus'
            type: array
          name: status__in
          in: query
        - required: false
          schema:
            type: string
            format: uuid
          name: user_id
          in: query
        - required: false
          schema:
            type: string
            format: uuid
          name: role_id
          in: query
        - required: false
          schema:
            $ref: '#/components/schemas/ObjectType'
          name: object_type
          in: query
        - required: false
          schema:
            items:
              $ref: '#/components/schemas/ObjectType'
            type: array
          name: object_type__in
          in: query
        - required: false
          schema:
            type: string
            format: uuid
          name: created_by
          in: query
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApprovalRequestResourceList'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "406":
          description: Not Acceptable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - Approval requests
      summary: Create an approval request
      operationId: post_approval_requests
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApprovalRequestCreateRequest'
        required: true
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApprovalRequestResourceWithMetadata'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "406":
          description: Not Acceptable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /approval_requests/{approval_request_id}:
    get:
      tags:
        - Approval requests
      summary: Get an approval request by ID
      operationId: get_approval_requests_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: approval_request_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApprovalRequestResourceWithMetadata'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "406":
          description: Not Acceptable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /approval_requests/{approval_request_id}/approve:
    post:
      tags:
        - Approval requests
      summary: Approve an approval request
      operationId: post_approval_requests_id_approve
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: approval_request_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApprovalRequestResourceWithMetadata'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /approval_requests/{approval_request_id}/cancel:
    post:
      tags:
        - Approval requests
      summary: Cancel an approval request
      operationId: post_approval_requests_id_cancel
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: approval_request_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApprovalRequestResourceWithMetadata'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /approval_requests/{approval_request_id}/reject:
    post:
      tags:
        - Approval requests
      summary: Reject an approval request
      operationId: post_approval_requests_id_reject
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: approval_request_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApprovalRequestResourceWithMetadata'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /auth/revoke:
    post:
      tags:
        - Access tokens
      summary: Revoke a token
      description: Revoke an existing token immediately.
      operationId: post_auth_revoke
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RevokeTokenPayload'
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /auth/token:
    post:
      tags:
        - Access tokens
      summary: Create a token
      description: Create a new access token based on client ID and client secret.
      operationId: post_auth_token
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ObtainTokenPayload'
            examples:
              partner_token:
                summary: Partner token
                value:
                  grant_type: client_credentials
                  client_id: eb959578-a74d-4ac3-8b25-bf0910027857
                  client_secret: 14c84a34-282b-4fd8-8af6-86b5b5f2c212
              entity_user_token:
                summary: Entity user token
                value:
                  grant_type: entity_user
                  client_id: eb959578-a74d-4ac3-8b25-bf0910027857
                  client_secret: 14c84a34-282b-4fd8-8af6-86b5b5f2c212
                  entity_user_id: 7abd8744-507c-40e6-a5ca-34aa480b3991
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessTokenResponse'
        "400":
          description: |-
            Possible reasons:

             * The specified client ID, client secret, or entity user ID is not found.
               Make sure you're using credentials for the correct environment (sandbox or production).
             * `entity_user_id` is not provided for `grant_type` = `entity_user`.
        "422":
          description: A required request field is missing, or some field value has an invalid format.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
  /bank_accounts:
    get:
      tags:
        - Entity bank accounts
      summary: Get an entity's bank accounts
      description: Get all bank accounts of this entity.
      operationId: get_bank_accounts
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityBankAccountPaginationResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - Entity bank accounts
      summary: Create an entity bank account
      description: |-
        Adds a new bank account for the specified entity.

        The minimum required fields are `currency` and `country`. Other required fields depend on the currency and country.

        Bank accounts in African countries can use any fields or combinations of fields.

        For other countries:
        * EUR accounts require `iban`.
        * GBP accounts require `account_holder_name`, `account_number`, and `sort_code`.
        * USD accounts require `account_holder_name`, `account_number`, and `routing_number`.
        * Accounts in other currencies require one of:
          * `iban`
          * `account_number` and `sort_code`
          * `account_number` and `routing_number`
      operationId: post_bank_accounts
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateEntityBankAccountRequest'
            examples:
              eur_bank_account:
                summary: EUR bank account
                value:
                  currency: EUR
                  country: DE
                  bank_name: DEUTSCHE BANK AG
                  account_holder_name: Tobias Weingart
                  iban: DE74500700100100000900
                  bic: DEUTDEFFXXX
                  display_name: Primary account
                  is_default_for_currency: true
              gbp_bank_account:
                summary: GBP bank account
                value:
                  currency: GBP
                  country: GB
                  bank_name: HSBC UK BANK PLC
                  account_holder_name: Esther Walsh
                  account_number: "12345678"
                  sort_code: 403124
                  iban: GB15HBUK40312412345678
                  bic: HBUKGB4B
                  display_name: Primary account
                  is_default_for_currency: true
              usd_bank_account:
                summary: USD bank account
                value:
                  currency: USD
                  country: US
                  bank_name: WELLS FARGO
                  account_holder_name: Bob Jones
                  account_number: "2571714302"
                  routing_number: "061000227"
                  display_name: Primary account
                  is_default_for_currency: true
        required: true
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityBankAccountResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /bank_accounts/{bank_account_id}:
    get:
      tags:
        - Entity bank accounts
      summary: Get an entity's bank account
      description: Retrieve a bank account by its ID.
      operationId: get_bank_accounts_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: bank_account_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityBankAccountResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "404":
          description: An entity bank account with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    patch:
      tags:
        - Entity bank accounts
      summary: Update an entity's bank account
      description: |-
        You can only update the display name and account holder name in an entity's bank account details.

        To update other bank account details (for example, `iban` or `account_number`), you will need to delete the existing bank account and add a new one instead.
      operationId: patch_bank_accounts_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: bank_account_id
          in: path
          description: ID of an entity bank account you want to update.
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateEntityBankAccountRequest'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityBankAccountResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "404":
          description: An entity bank account with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    delete:
      tags:
        - Entity bank accounts
      summary: Delete an entity's bank account
      description: |-
        Delete information about an entity's bank account with the specified ID.

        [Default bank accounts](https://docs.monite.com/entities/bank-accounts#default) cannot be deleted. To delete a default bank account, you must first assign a new default account for the same currency.
      operationId: delete_bank_accounts_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: bank_account_id
          in: path
          description: ID of an entity bank account you want to delete. This bank account must have `is_default_for_currency`=`false`.
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "204":
          description: Successful Response
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "404":
          description: An entity bank account with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /bank_accounts/{bank_account_id}/make_default:
    post:
      tags:
        - Entity bank accounts
      summary: Set an entity's bank account as the default for its currency
      description: Set a bank account as the default for this entity per currency.
      operationId: post_bank_accounts_id_make_default
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: bank_account_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityBankAccountResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /bank_accounts/{bank_account_id}/verify:
    post:
      tags:
        - Entity bank accounts
      summary: Verify an entity bank account
      operationId: post_bank_accounts_id_verify
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: bank_account_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityBankAccountResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /comments:
    get:
      tags:
        - Comments
      summary: Get comments
      description: Get comments
      operationId: get_comments
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            $ref: '#/components/schemas/ObjectTypeAvailableComment'
          name: object_type
          in: query
        - required: true
          schema:
            type: string
            format: uuid
          name: object_id
          in: query
        - description: Sort order (ascending by default). Typically used together with the `sort` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/OrderEnum'
            default: asc
          name: order
          in: query
        - description: The number of items (0 .. 100) to return in a single page of the response. The response may contain fewer items if it is the last or only page.
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            default: 100
          name: limit
          in: query
        - description: |-
            A pagination token obtained from a previous call to this endpoint. Use it to get the next or previous page of results for your initial query. If `pagination_token` is specified, all other query parameters are ignored and inferred from the initial query.

            If not specified, the first page of results will be returned.
          required: false
          schema:
            type: string
          name: pagination_token
          in: query
        - description: The field to sort the results by. Typically used together with the `order` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/CommentCursorFields'
          name: sort
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__gt
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__lt
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__gte
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__lte
          in: query
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommentResourceList'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: 'Possible responses: `Action {action} for {object_type} not allowed`, `Action for {object_type} at permissions not found: {action}`, `Object type at permissions not found: {object_type}``{operation}: status has not changed`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - Comments
      summary: Create a comment
      description: Create new comment
      operationId: post_comments
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommentCreateRequest'
        required: true
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommentResource'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: 'Possible responses: `Could not notify groups: {not_valid_recipients}. Recipients dont exists`, `groups with ids: {'',''.join(missed_ids)} dont exists`, `Could not notify groups: {missed_groups}. Only {available_groups} are available`, `Action {action} for {object_type} not allowed`, `Action for {object_type} at permissions not found: {action}`, `Object type at permissions not found: {object_type}``{operation}: status has not changed`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /comments/{comment_id}:
    get:
      tags:
        - Comments
      summary: Get a comment by ID
      description: Get comment
      operationId: get_comments_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: comment_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommentResource'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: 'Possible responses: `Action {action} for {object_type} not allowed`, `Action for {object_type} at permissions not found: {action}`, `Object type at permissions not found: {object_type}``{operation}: status has not changed`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    patch:
      tags:
        - Comments
      summary: Update a comment
      description: Update comment
      operationId: patch_comments_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: comment_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommentUpdateRequest'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommentResource'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: 'Possible responses: `Action {action} for {object_type} not allowed`, `Action for {object_type} at permissions not found: {action}`, `Object type at permissions not found: {object_type}``{operation}: status has not changed`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    delete:
      tags:
        - Comments
      summary: Delete a comment
      description: Delete comment
      operationId: delete_comments_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: comment_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "204":
          description: Successful Response
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: 'Possible responses: `Action {action} for {object_type} not allowed`, `Action for {object_type} at permissions not found: {action}`, `Object type at permissions not found: {object_type}``{operation}: status has not changed`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /cost_centers:
    get:
      tags:
        - Cost centers
      summary: Get cost centers
      description: Get all cost centers
      operationId: get_cost_centers
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: Sort order (ascending by default). Typically used together with the `sort` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/OrderEnum'
            default: asc
          name: order
          in: query
        - description: "The number of items (0 .. 250) to return in a single page of the response. Default is 100. The response may contain fewer items if it is the last or only page. \n\nWhen using pagination with a non-default `limit`, you must provide the `limit` value alongside `pagination_token` in all subsequent pagination requests. Unlike other query parameters, `limit` is not inferred from `pagination_token`."
          required: false
          schema:
            type: integer
            maximum: 250
            minimum: 1
            default: 250
          name: limit
          in: query
        - description: |-
            A pagination token obtained from a previous call to this endpoint. Use it to get the next or previous page of results for your initial query. If `pagination_token` is specified, all other query parameters except `limit` are ignored and inferred from the initial query.

            If not specified, the first page of results will be returned.
          required: false
          schema:
            type: string
          name: pagination_token
          in: query
        - description: The field to sort the results by. Typically used together with the `order` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/TaxRateAccountCursorFields'
          name: sort
          in: query
        - description: Filter by external/internal cost centers.
          required: false
          schema:
            type: boolean
          name: is_external
          in: query
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountingCostCenterListResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - Cost centers
      summary: Create a new cost center
      description: Create a new cost center
      operationId: post_cost_centers
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountingCostCenterCreateRequest'
        required: true
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountingCostCenterResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /cost_centers/{cost_center_id}:
    get:
      tags:
        - Cost centers
      summary: Get a cost center by ID
      description: Get cost center by id
      operationId: get_cost_centers_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: cost_center_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountingCostCenterResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: A cost center with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    patch:
      tags:
        - Cost centers
      summary: Update a cost center
      description: Update an existing cost center
      operationId: patch_cost_centers_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: cost_center_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountingCostCenterUpdateRequest'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountingCostCenterResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: A cost center with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    delete:
      tags:
        - Cost centers
      summary: Delete a cost center
      description: Delete a cost center
      operationId: delete_cost_centers_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: cost_center_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "204":
          description: Successful Response
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: A cost center with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /counterparts:
    get:
      tags:
        - Counterparts
      summary: Get all counterparts
      operationId: get_counterparts
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The IBAN of the counterpart's bank account.
          required: false
          schema:
            type: string
            maxLength: 34
          name: iban
          in: query
        - description: The bank's sort code.
          required: false
          schema:
            type: string
            maxLength: 100
          example: "123456"
          name: sort_code
          in: query
        - description: The bank account number. Required for US bank accounts to accept ACH payments. US account numbers contain 9 to 12 digits. UK account numbers typically contain 8 digits.
          required: false
          schema:
            type: string
            maxLength: 100
          name: account_number
          in: query
        - description: The tax ID of the counterpart.
          required: false
          schema:
            type: string
            maxLength: 30
          name: tax_id
          in: query
        - description: The VAT ID of the counterpart.
          required: false
          schema:
            type: string
            maxLength: 30
          name: vat_id
          in: query
        - description: A list of counterpart IDs to search through.
          required: false
          schema:
            items:
              type: string
              format: uuid
            type: array
          name: id__in
          in: query
        - description: Sort order (ascending by default). Typically used together with the `sort` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/OrderEnum'
            default: asc
          name: order
          in: query
        - description: The number of items (0 .. 100) to return in a single page of the response. The response may contain fewer items if it is the last or only page.
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            default: 100
          name: limit
          in: query
        - description: |-
            A pagination token obtained from a previous call to this endpoint. Use it to get the next or previous page of results for your initial query. If `pagination_token` is specified, all other query parameters are ignored and inferred from the initial query.

            If not specified, the first page of results will be returned.
          required: false
          schema:
            type: string
          name: pagination_token
          in: query
        - description: The field to sort the results by. Typically used together with the `order` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/CounterpartCursorFields'
          name: sort
          in: query
        - required: false
          schema:
            $ref: '#/components/schemas/CounterpartType'
          name: type
          in: query
        - required: false
          schema:
            type: string
          name: counterpart_name
          in: query
        - required: false
          schema:
            type: string
          name: counterpart_name__iexact
          in: query
        - required: false
          schema:
            type: string
          name: counterpart_name__contains
          in: query
        - required: false
          schema:
            type: string
          name: counterpart_name__icontains
          in: query
        - required: false
          schema:
            type: boolean
          name: is_vendor
          in: query
        - required: false
          schema:
            type: boolean
          name: is_customer
          in: query
        - required: false
          schema:
            type: string
          name: email
          in: query
        - required: false
          schema:
            type: string
          name: email__contains
          in: query
        - required: false
          schema:
            type: string
          name: email__icontains
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__gt
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__lt
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__gte
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__lte
          in: query
        - required: false
          schema:
            type: string
          name: address.country
          in: query
        - required: false
          schema:
            type: string
          name: address.city
          in: query
        - required: false
          schema:
            type: string
          name: address.postal_code
          in: query
        - required: false
          schema:
            type: string
          name: address.state
          in: query
        - required: false
          schema:
            type: string
          name: address.line1
          in: query
        - required: false
          schema:
            type: string
          name: address.line2
          in: query
        - required: false
          schema:
            items:
              type: string
              format: uuid
            type: array
          name: tag_ids__in
          in: query
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CounterpartPaginationResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - Counterparts
      summary: Create a counterpart
      operationId: post_counterparts
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CounterpartCreatePayload'
        required: true
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CounterpartResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /counterparts/{counterpart_id}:
    get:
      tags:
        - Counterparts
      summary: Get a counterpart
      operationId: get_counterparts_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: counterpart_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CounterpartResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: A counterpart with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    patch:
      tags:
        - Counterparts
      summary: Update a counterpart
      operationId: patch_counterparts_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: counterpart_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CounterpartUpdatePayload'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CounterpartResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: A counterpart with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    delete:
      tags:
        - Counterparts
      summary: Delete a counterpart
      operationId: delete_counterparts_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: counterpart_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "204":
          description: Successful Response
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: A counterpart with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /counterparts/{counterpart_id}/addresses:
    get:
      tags:
        - Counterpart addresses
      summary: Get a counterpart's addresses
      operationId: get_counterparts_id_addresses
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: counterpart_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CounterpartAddressResourceList'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: A counterpart with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - Counterpart addresses
      summary: Create a counterpart address
      operationId: post_counterparts_id_addresses
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: counterpart_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CounterpartAddress'
        required: true
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CounterpartAddressResponseWithCounterpartID'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: A counterpart with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /counterparts/{counterpart_id}/addresses/{address_id}:
    get:
      tags:
        - Counterpart addresses
      summary: Get a counterpart's address
      operationId: get_counterparts_id_addresses_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: address_id
          in: path
        - required: true
          schema:
            type: string
            format: uuid
          name: counterpart_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CounterpartAddressResponseWithCounterpartID'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: A counterpart or address with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    patch:
      tags:
        - Counterpart addresses
      summary: Update a counterpart's address
      operationId: patch_counterparts_id_addresses_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: address_id
          in: path
        - required: true
          schema:
            type: string
            format: uuid
          name: counterpart_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CounterpartUpdateAddress'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CounterpartAddressResponseWithCounterpartID'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: A counterpart or address with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    delete:
      tags:
        - Counterpart addresses
      summary: Delete a counterpart's address
      operationId: delete_counterparts_id_addresses_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: address_id
          in: path
        - required: true
          schema:
            type: string
            format: uuid
          name: counterpart_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "204":
          description: Successful Response
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: A counterpart or address with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /counterparts/{counterpart_id}/bank_accounts:
    get:
      tags:
        - Counterpart bank accounts
      summary: Get a counterpart's bank accounts
      operationId: get_counterparts_id_bank_accounts
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: counterpart_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CounterpartBankAccountResourceList'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: A counterpart with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - Counterpart bank accounts
      summary: Create a counterpart bank account
      operationId: post_counterparts_id_bank_accounts
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: counterpart_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCounterpartBankAccount'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CounterpartBankAccountResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: A counterpart with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /counterparts/{counterpart_id}/bank_accounts/{bank_account_id}:
    get:
      tags:
        - Counterpart bank accounts
      summary: Get a counterpart's bank account
      operationId: get_counterparts_id_bank_accounts_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: bank_account_id
          in: path
        - required: true
          schema:
            type: string
            format: uuid
          name: counterpart_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CounterpartBankAccountResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: A counterpart or bank account with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    patch:
      tags:
        - Counterpart bank accounts
      summary: Update a counterpart's bank account
      operationId: patch_counterparts_id_bank_accounts_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: bank_account_id
          in: path
        - required: true
          schema:
            type: string
            format: uuid
          name: counterpart_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCounterpartBankAccount'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CounterpartBankAccountResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: A counterpart or bank account with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    delete:
      tags:
        - Counterpart bank accounts
      summary: Delete a counterpart's bank account
      operationId: delete_counterparts_id_bank_accounts_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: bank_account_id
          in: path
        - required: true
          schema:
            type: string
            format: uuid
          name: counterpart_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "204":
          description: Successful Response
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: A counterpart or bank account with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /counterparts/{counterpart_id}/bank_accounts/{bank_account_id}/make_default:
    post:
      tags:
        - Counterpart bank accounts
      summary: Set a counterpart's bank account as default for its currency
      operationId: post_counterparts_id_bank_accounts_id_make_default
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: bank_account_id
          in: path
        - required: true
          schema:
            type: string
            format: uuid
          name: counterpart_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema: {}
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /counterparts/{counterpart_id}/bank_accounts/{bank_account_id}/verify:
    post:
      tags:
        - Counterpart bank accounts
      summary: Verify a counterpart bank account
      operationId: post_counterparts_id_bank_accounts_id_verify
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: bank_account_id
          in: path
        - required: true
          schema:
            type: string
            format: uuid
          name: counterpart_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CounterpartBankAccountResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /counterparts/{counterpart_id}/contacts:
    get:
      tags:
        - Counterpart contacts
      summary: Get a counterpart's contacts
      operationId: get_counterparts_id_contacts
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: counterpart_id
          in: path
          description: ID of a counterpart to return contacts for. Only organization-type counterparts can have contacts.
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CounterpartContactsResourceList'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: A counterpart with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: The specified counterpart is an individual and cannot have contacts.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
      description: Returns all contacts defined for the specified organization-type counterpart.
    post:
      tags:
        - Counterpart contacts
      summary: Create a counterpart contact
      operationId: post_counterparts_id_contacts
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: counterpart_id
          in: path
          description: ID of a counterpart to add a contact for. This counterpart must be an organization, not an individual.
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCounterpartContactPayload'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CounterpartContactResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: A counterpart with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: The specified counterpart is an individual and cannot have contacts.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
      description: |-
        [Counterparts](https://docs.monite.com/common/counterparts/index) of the `organization` type can have additional contacts defined. Contacts are useful if you need to use different contact information for the same counterpart in different [invoices](https://docs.monite.com/accounts-receivable/invoices/index).

        The first contact you add to a counterpart becomes its default contact. The default contact, if it exists, is automatically selected when you create invoices and quotes for this counterpart, but the contact information can also be changed later on the document level. To select a different contact as the default one, use `POST /counterparts/{counterpart_id}/contacts/{contact_id}/make_default`.
  /counterparts/{counterpart_id}/contacts/{contact_id}:
    get:
      tags:
        - Counterpart contacts
      summary: Get a counterpart's contact
      operationId: get_counterparts_id_contacts_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: contact_id
          in: path
          description: ID of the contact to return.
        - required: true
          schema:
            type: string
            format: uuid
          name: counterpart_id
          in: path
          description: ID of a counterpart whose contact you want to get. Only organization-type counterparts can have contacts.
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CounterpartContactResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: A counterpart or contact with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: The specified counterpart is an individual and cannot have contacts.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    patch:
      tags:
        - Counterpart contacts
      summary: Update a counterpart's contact
      operationId: patch_counterparts_id_contacts_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: contact_id
          in: path
          description: ID of the contact you want to update.
        - required: true
          schema:
            type: string
            format: uuid
          name: counterpart_id
          in: path
          description: ID of a counterpart whose contact you want to update. Only organization-type counterparts can have contacts.
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCounterpartContactPayload'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CounterpartContactResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: A counterpart or contact with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: The specified counterpart is an individual and cannot have contacts.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
      description: Update contact details for a counterpart.
    delete:
      tags:
        - Counterpart contacts
      summary: Delete a counterpart's contact
      operationId: delete_counterparts_id_contacts_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: contact_id
          in: path
          description: ID of the contact you want to delete.
        - required: true
          schema:
            type: string
            format: uuid
          name: counterpart_id
          in: path
          description: ID of a counterpart whose contact you want to delete. Only organization-type counterparts can have contacts.
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "204":
          description: Successful Response
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: A counterpart or contact with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: |-
            Possible reasons:

             * Default contact cannot be deleted.
             * The specified counterpart is an individual and cannot have contacts.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
      description: |-
        Delete the specified contact from a counterpart.

        The default contact cannot be deleted. To delete a default contact, you first need to assign another contact as the default one.
  /counterparts/{counterpart_id}/contacts/{contact_id}/make_default:
    post:
      tags:
        - Counterpart contacts
      summary: Set a counterpart's default contact
      operationId: post_counterparts_id_contacts_id_make_default
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: contact_id
          in: path
          description: ID of the contact you want to make default.
        - required: true
          schema:
            type: string
            format: uuid
          name: counterpart_id
          in: path
          description: ID of a counterpart whose contact you want to update. Only organization-type counterparts can have contacts.
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CounterpartContactResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /counterparts/{counterpart_id}/einvoicing_credentials:
    get:
      tags:
        - Counterpart e-invoicing credentials
      summary: Get a list of a counterpart's e-invoicing credentials
      operationId: get_counterparts_id_einvoicing_credentials
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: counterpart_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CounterpartEinvoicingCredentialResponseList'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "404":
          description: A counterpart with the specified ID was not found.
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - Counterpart e-invoicing credentials
      summary: Add e-invoicing credentials for a counterpart
      operationId: post_counterparts_id_einvoicing_credentials
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: counterpart_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCounterpartEinvoicingCredentialPayload'
            examples:
              from_vat_id_id:
                summary: Use an existing VAT ID
                value:
                  counterpart_vat_id_id: 14c84a34-282b-4fd8-8af6-86b5b5f2c212
              add_id_directly:
                summary: Add a PEPPOL ID directly
                value:
                  network_schema: DE:VAT
                  network_identifier: DE087095777
        required: true
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CounterpartEinvoicingCredentialResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "404":
          description: A counterpart with the specified ID was not found.
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /counterparts/{counterpart_id}/einvoicing_credentials/{credential_id}:
    get:
      tags:
        - Counterpart e-invoicing credentials
      summary: Get a counterpart's e-invoicing credentials by ID
      operationId: get_counterparts_id_einvoicing_credentials_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: credential_id
          in: path
        - required: true
          schema:
            type: string
            format: uuid
          name: counterpart_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CounterpartEinvoicingCredentialResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    patch:
      tags:
        - Counterpart e-invoicing credentials
      summary: Update a counterpart's e-invoicing credentials
      operationId: patch_counterparts_id_einvoicing_credentials_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: credential_id
          in: path
        - required: true
          schema:
            type: string
            format: uuid
          name: counterpart_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCounterpartEinvoicingCredentialSchema'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CounterpartEinvoicingCredentialResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    delete:
      tags:
        - Counterpart e-invoicing credentials
      summary: Delete a counterpart's e-invoicing credentials
      operationId: delete_counterparts_id_einvoicing_credentials_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: credential_id
          in: path
        - required: true
          schema:
            type: string
            format: uuid
          name: counterpart_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "204":
          description: Successful Response
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /counterparts/{counterpart_id}/partner_metadata:
    get:
      tags:
        - Counterparts
      summary: Get counterpart metadata
      operationId: get_counterparts_id_partner_metadata
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: counterpart_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartnerMetadataResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: A counterpart with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    put:
      tags:
        - Counterparts
      summary: Replace counterpart metadata
      operationId: put_counterparts_id_partner_metadata
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: counterpart_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PartnerMetadata'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartnerMetadataResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: A counterpart with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /counterparts/{counterpart_id}/vat_ids:
    get:
      tags:
        - Counterpart VAT IDs
      summary: Get a counterpart's VAT IDs
      operationId: get_counterparts_id_vat_ids
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: counterpart_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CounterpartVatIDResourceList'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: A counterpart with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - Counterpart VAT IDs
      summary: Create a counterpart VAT ID
      operationId: post_counterparts_id_vat_ids
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: counterpart_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CounterpartVatID'
        required: true
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CounterpartVatIDResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: A counterpart with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /counterparts/{counterpart_id}/vat_ids/{vat_id}:
    get:
      tags:
        - Counterpart VAT IDs
      summary: Get a counterpart's VAT ID
      operationId: get_counterparts_id_vat_ids_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: vat_id
          in: path
        - required: true
          schema:
            type: string
            format: uuid
          name: counterpart_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CounterpartVatIDResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: A counterpart or VAT number with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    patch:
      tags:
        - Counterpart VAT IDs
      summary: Update a counterpart's VAT ID
      operationId: patch_counterparts_id_vat_ids_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: vat_id
          in: path
        - required: true
          schema:
            type: string
            format: uuid
          name: counterpart_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CounterpartUpdateVatID'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CounterpartVatIDResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: A counterpart or VAT number with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    delete:
      tags:
        - Counterpart VAT IDs
      summary: Delete a counterpart's VAT ID
      operationId: delete_counterparts_id_vat_ids_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: vat_id
          in: path
        - required: true
          schema:
            type: string
            format: uuid
          name: counterpart_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "204":
          description: Successful Response
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: A counterpart or VAT number with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /custom_vat_rates:
    get:
      tags:
        - Custom VAT rates
      summary: Get custom VAT rates
      operationId: get_custom_vat_rates
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomVatRateResponseList'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - Custom VAT rates
      summary: Create a custom VAT rate
      operationId: post_custom_vat_rates
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomVatRateRequest'
        required: true
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomVatRateResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /custom_vat_rates/{custom_vat_rate_id}:
    get:
      tags:
        - Custom VAT rates
      summary: Get a custom VAT rate by ID
      operationId: get_custom_vat_rates_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: custom_vat_rate_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomVatRateResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    patch:
      tags:
        - Custom VAT rates
      summary: Update a custom VAT rate
      operationId: patch_custom_vat_rates_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: custom_vat_rate_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomVatRateUpdateRequest'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomVatRateResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    delete:
      tags:
        - Custom VAT rates
      summary: Delete a custom VAT rate
      operationId: delete_custom_vat_rates_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: custom_vat_rate_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "204":
          description: Successful Response
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /data_exports:
    get:
      tags:
        - Data export
      summary: Get all export jobs
      operationId: get_data_exports
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: Sort order (ascending by default). Typically used together with the `sort` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/OrderEnum'
            default: asc
          name: order
          in: query
        - description: The number of items (0 .. 100) to return in a single page of the response. The response may contain fewer items if it is the last or only page.
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            default: 100
          name: limit
          in: query
        - description: |-
            A pagination token obtained from a previous call to this endpoint. Use it to get the next or previous page of results for your initial query. If `pagination_token` is specified, all other query parameters are ignored and inferred from the initial query.

            If not specified, the first page of results will be returned.
          required: false
          schema:
            type: string
          name: pagination_token
          in: query
        - description: The field to sort the results by. Typically used together with the `order` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/DataExportCursorFields'
          name: sort
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__gt
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__lt
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__gte
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__lte
          in: query
        - required: false
          schema:
            type: string
            format: uuid
          name: created_by_entity_user_id
          in: query
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AllDocumentExportResponseSchema'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "406":
          description: Not Acceptable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - Data export
      summary: Create an export job
      description: Request the export of payable and receivable documents with the specified statuses.
      operationId: post_data_exports
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExportPayloadSchema'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateExportTaskResponseSchema'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: 'Possible responses: `Not all statuses are available: {missed_statuses}. Available ones: {object_statuses},`{missed_objects} are not allowed. Available only {objects}`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /data_exports/extra_data:
    get:
      tags:
        - Data export - extra data
      summary: Get extra fields included in data export
      operationId: get_data_exports_extra_data
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: Sort order (ascending by default). Typically used together with the `sort` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/OrderEnum'
            default: asc
          name: order
          in: query
        - description: The number of items (0 .. 100) to return in a single page of the response. The response may contain fewer items if it is the last or only page.
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            default: 100
          name: limit
          in: query
        - description: |-
            A pagination token obtained from a previous call to this endpoint. Use it to get the next or previous page of results for your initial query. If `pagination_token` is specified, all other query parameters are ignored and inferred from the initial query.

            If not specified, the first page of results will be returned.
          required: false
          schema:
            type: string
          name: pagination_token
          in: query
        - description: The field to sort the results by. Typically used together with the `order` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/ExportSettingCursorFields'
          name: sort
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__gt
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__lt
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__gte
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__lte
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: updated_at__gt
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: updated_at__lt
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: updated_at__gte
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: updated_at__lte
          in: query
        - required: false
          schema:
            type: string
            format: uuid
          name: object_id
          in: query
        - required: false
          schema:
            type: string
          name: field_name
          in: query
        - required: false
          schema:
            type: string
          name: field_value
          in: query
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtraDataResourceList'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - Data export - extra data
      summary: Add a field to be included in data export
      operationId: post_data_exports_extra_data
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExtraDataCreateRequest'
        required: true
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtraDataResource'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /data_exports/extra_data/{extra_data_id}:
    get:
      tags:
        - Data export - extra data
      summary: Get an extra field by ID
      operationId: get_data_exports_extra_data_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: extra_data_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtraDataResource'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    patch:
      tags:
        - Data export - extra data
      summary: Update the configuration of an extra field
      operationId: patch_data_exports_extra_data_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: extra_data_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExtraDataUpdateRequest'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtraDataResource'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    delete:
      tags:
        - Data export - extra data
      summary: Delete an extra field
      operationId: delete_data_exports_extra_data_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: extra_data_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtraDataResource'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /data_exports/supported_formats:
    get:
      tags:
        - Data export
      summary: Get supported export formats
      operationId: get_data_exports_supported_formats
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/SupportedFormatSchema'
                type: array
                title: Response Get Data Exports Supported Formats
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /data_exports/{document_export_id}:
    get:
      tags:
        - Data export
      summary: Get the export job status by ID
      operationId: get_data_exports_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: document_export_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DocumentExportResponseSchema'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /delivery_notes:
    get:
      tags:
        - Delivery notes
      summary: Get delivery notes
      description: Get all delivery notes with filtering and pagination.
      operationId: get_delivery_notes
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: Sort order (ascending by default). Typically used together with the `sort` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/OrderEnum'
            default: asc
          name: order
          in: query
        - description: The number of items (0 .. 100) to return in a single page of the response. The response may contain fewer items if it is the last or only page.
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            default: 100
          name: limit
          in: query
        - description: |-
            A pagination token obtained from a previous call to this endpoint. Use it to get the next or previous page of results for your initial query. If `pagination_token` is specified, all other query parameters are ignored and inferred from the initial query.

            If not specified, the first page of results will be returned.
          required: false
          schema:
            type: string
          name: pagination_token
          in: query
        - description: The field to sort the results by. Typically used together with the `order` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/DeliveryNoteCursorFields'
          name: sort
          in: query
        - required: false
          schema:
            items:
              type: string
              format: uuid
            type: array
          name: id__in
          in: query
        - required: false
          schema:
            $ref: '#/components/schemas/DeliveryNoteStatusEnum'
          name: status
          in: query
        - required: false
          schema:
            items:
              $ref: '#/components/schemas/DeliveryNoteStatusEnum'
            type: array
          name: status__in
          in: query
        - required: false
          schema:
            type: string
            maxLength: 100
          name: document_id
          in: query
        - required: false
          schema:
            type: string
            maxLength: 100
          name: document_id__contains
          in: query
        - required: false
          schema:
            type: string
            maxLength: 100
          name: document_id__icontains
          in: query
        - required: false
          schema:
            type: string
            format: uuid
          name: created_by_entity_user_id
          in: query
        - required: false
          schema:
            type: string
            format: uuid
          name: counterpart_id
          in: query
        - required: false
          schema:
            type: string
            format: uuid
          name: based_on
          in: query
        - required: false
          schema:
            type: string
            maxLength: 100
          name: based_on_document_id
          in: query
        - required: false
          schema:
            type: string
            maxLength: 100
          name: based_on_document_id__contains
          in: query
        - required: false
          schema:
            type: string
            maxLength: 100
          name: based_on_document_id__icontains
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__gt
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__lt
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__gte
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__lte
          in: query
        - required: false
          schema:
            type: string
            format: date
          name: delivery_date__gt
          in: query
        - required: false
          schema:
            type: string
            format: date
          name: delivery_date__lt
          in: query
        - required: false
          schema:
            type: string
            format: date
          name: delivery_date__gte
          in: query
        - required: false
          schema:
            type: string
            format: date
          name: delivery_date__lte
          in: query
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeliveryNoteResourceList'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - Delivery notes
      summary: Create a delivery note
      operationId: post_delivery_notes
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              anyOf:
                - $ref: '#/components/schemas/DeliveryNoteCreateRequest'
                - $ref: '#/components/schemas/DeliveryNoteCreateBasedOnRequest'
              title: Payload
            examples:
              from_scratch:
                summary: Create from scratch
                value:
                  counterpart_id: 18a45457-377e-4b7c-b9a1-7b2e7f264d46
                  counterpart_address_id: 9a0282e1-bae7-49c9-a6f3-152dbe6fe6b8
                  delivery_date: "2025-07-01"
                  delivery_number: INV-042
                  display_signature_placeholder: true
                  line_items:
                    - product:
                        name: LG WH1000XM Monitor
                      quantity: 10
                    - product_id: e0c21d00-6556-4536-8390-830c4d3cf4ca
                      quantity: 5
              from_invoice_or_quote:
                summary: Create from an invoice or quote
                description: Replace the `based_on` value with the ID of the invoice or quote. Afterwards, call `PATCH /delivery_notes/{delivery_note_id}` to make adjustments.
                value:
                  based_on: e78de69c-c789-44ef-80bf-474b9e63b91d
        required: true
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeliveryNoteResource'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /delivery_notes/{delivery_note_id}:
    get:
      tags:
        - Delivery notes
      summary: Get a delivery note by ID
      operationId: get_delivery_notes_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: delivery_note_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeliveryNoteResource'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: A delivery note with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    patch:
      tags:
        - Delivery notes
      summary: Update a delivery note
      operationId: patch_delivery_notes_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: delivery_note_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeliveryNoteUpdateRequest'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeliveryNoteResource'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: A delivery note with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    delete:
      tags:
        - Delivery notes
      summary: Delete a delivery note
      operationId: delete_delivery_notes_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: delivery_note_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "204":
          description: Successful Response
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: A delivery note with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /delivery_notes/{delivery_note_id}/cancel:
    post:
      tags:
        - Delivery notes
      summary: Cancel a delivery note
      operationId: post_delivery_notes_id_cancel
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: delivery_note_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeliveryNoteResource'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: A delivery note with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /delivery_notes/{delivery_note_id}/mark_as_delivered:
    post:
      tags:
        - Delivery notes
      summary: Mark a delivery note as delivered
      operationId: post_delivery_notes_id_mark_as_delivered
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: delivery_note_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeliveryNoteResource'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: A delivery note with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /document_templates:
    get:
      tags:
        - PDF templates
      summary: Get PDF templates
      description: This API call returns all supported templates with language codes.
      operationId: get_document_templates
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TemplateListResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /document_templates/system:
    get:
      tags:
        - PDF templates
      summary: Get built-in PDF templates
      description: This API call returns all supported system templates with language codes.
      operationId: get_document_templates_system
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TemplateListResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /document_templates/{document_template_id}:
    get:
      tags:
        - PDF templates
      summary: Get a PDF template by ID
      operationId: get_document_templates_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: document_template_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TemplateReceivableResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /document_templates/{document_template_id}/make_default:
    post:
      tags:
        - PDF templates
      summary: Set the default PDF template
      operationId: post_document_templates_id_make_default
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: document_template_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TemplateReceivableResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /document_templates/{document_template_id}/preview:
    get:
      tags:
        - PDF templates
      summary: Preview a PDF template
      description: Returns a sample PDF invoice generated using the specified template.
      operationId: get_document_templates_id_preview
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: document_template_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/pdf: {}
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /einvoice_search:
    get:
      tags:
        - E-invoicing search
      summary: PEPPOL lookup
      operationId: get_einvoice_search
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            maxLength: 255
            minLength: 1
          name: network_identifier
          in: query
          description: |-
            VAT number or business number, depending on the `network_schema` used. VAT numbers must include the country prefix, for example, use `DE010101010` not `10101010`.

            **Note:** This endpoint does not validate the format of VAT numbers and business numbers (such as the length or characters used). Invalid values will return `{"exists": false}`.
          example: DE010101010
        - required: true
          schema:
            $ref: '#/components/schemas/EinvoiceSchemaTypeEnum'
          name: network_schema
          in: query
          description: '[PEPPOL scheme](https://docs.monite.com/e-invoicing/peppol-ids#schemes) name.'
          example: DE:VAT
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CounterpartEinvoicingCredentialExistenceResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: |-
            Possible reasons:

              * A required query parameter was not provided.
              * Invalid or unsupported `network_schema`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
      description: |-
        Checks if the specified VAT number or business number is registered on the PEPPOL network as a receiver. For example, you can use this endpoint to check if an entity's counterparts are registered in PEPPOL before creating e-invoices for those counterparts.

        The lookup is powered by PEPPOL SMPs (Service Metadata Publishers) so it also includes registrations that are not visible in the public PEPPOL directory.

        Both partner tokens and entity user tokens can be used for authentication.

        Production and sandbox lookups are separate.
  /einvoicing_connections:
    get:
      tags:
        - E-invoicing connections
      summary: Get all e-invoicing connections
      operationId: get_einvoicing_connections
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EInvoicingRetrieveListData'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - E-invoicing connections
      summary: Create an e-invoicing connection
      operationId: post_einvoicing_connections
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EinvoicingConnectionCreateRequest'
        required: true
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EinvoicingConnectionResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /einvoicing_connections/{einvoicing_connection_id}:
    get:
      tags:
        - E-invoicing connections
      summary: Get an e-invoicing connection by ID
      operationId: get_einvoicing_connections_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: einvoicing_connection_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EinvoicingConnectionResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    patch:
      tags:
        - E-invoicing connections
      summary: Update an e-invoicing connection
      operationId: patch_einvoicing_connections_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: einvoicing_connection_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EinvoicingConnectionUpdateRequest'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EinvoicingConnectionResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    delete:
      tags:
        - E-invoicing connections
      summary: Delete an e-invoicing connection
      operationId: delete_einvoicing_connections_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: einvoicing_connection_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "204":
          description: Successful Response
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /einvoicing_connections/{einvoicing_connection_id}/network_credentials:
    post:
      tags:
        - E-invoicing connections
      summary: Create an e-invoicing credential
      operationId: post_einvoicing_connections_id_network_credentials
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: einvoicing_connection_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EinvoicingNetworkCredentialsCreateRequest'
        required: true
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EinvoicingNetworkCredentialsResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /entities:
    get:
      tags:
        - Entities
      summary: Get all entities
      description: Retrieve a list of all entities.
      operationId: get_entities
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: order
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/OrderEnum'
            default: asc
          description: Sort order (ascending by default). Typically used together with the `sort` parameter.
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            default: 100
          description: The number of items (0 .. 100) to return in a single page of the response. The response may contain fewer items if it is the last or only page.
        - name: pagination_token
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: "null"
          description: |-
            A pagination token obtained from a previous call to this endpoint. Use it to get the next or previous page of results for your initial query. If `pagination_token` is specified, all other query parameters are ignored and inferred from the initial query.

            If not specified, the first page of results will be returned.
        - name: sort
          in: query
          required: false
          schema:
            anyOf:
              - $ref: '#/components/schemas/EntityCursorFields'
              - type: "null"
          description: The field to sort the results by. Typically used together with the `order` parameter.
        - name: type
          in: query
          required: false
          schema:
            anyOf:
              - $ref: '#/components/schemas/EntityTypeEnum'
              - type: "null"
        - name: created_at__gt
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: "null"
        - name: created_at__lt
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: "null"
        - name: created_at__gte
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: "null"
        - name: created_at__lte
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: "null"
        - name: id__in
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                  format: uuid
              - type: "null"
        - name: id__not_in
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                  format: uuid
              - type: "null"
        - name: email
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: "null"
        - name: email__in
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
              - type: "null"
        - name: email__not_in
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
              - type: "null"
        - name: status
          in: query
          required: false
          schema:
            anyOf:
              - $ref: '#/components/schemas/EntityStatusEnum'
              - type: "null"
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityPaginationResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "406":
          description: Not Acceptable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - Entities
      summary: Create an entity
      description: Create a new entity from the specified values.
      operationId: post_entities
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateEntityRequest'
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /entities/me:
    get:
      tags:
        - Entities
      summary: Get the current entity
      description: Deprecated. Use `GET /entity_users/my_entity` instead.
      operationId: get_entities_me
      deprecated: true
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    patch:
      tags:
        - Entities
      summary: Update the current entity
      description: Deprecated. Use `PATCH /entity_users/my_entity` instead.
      operationId: patch_entities_me
      deprecated: true
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateEntityRequest'
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /entities/{entity_id}:
    get:
      tags:
        - Entities
      summary: Get an entity
      description: |-
        Returns entity information for the specified entity ID.

        This endpoint requires a partner access token and can be used to get any of the partner's entities.

        To get entity information by using an entity user token, use [`GET /entity_users/my_entity`](https://docs.monite.com/api/entities/get-entity-users-my-entity) instead.

        Related endpoints:

         * [Get entity settings](https://docs.monite.com/api/entities/get-entities-id-settings)
      operationId: get_entities_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: entity_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - ea837e28-509b-4b6a-a600-d54b6aa0b1f5
          description: A unique ID to specify the entity.
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    patch:
      tags:
        - Entities
      summary: Update an entity
      description: |-
        Update entity information for the specified entity ID.

        This endpoint requires a partner access token and can be used to update any of the partner's entities.

        To update an entity by using an entity user token, use [`PATCH /entity_users/my_entity`](https://docs.monite.com/api/entities/patch-entity-users-my-entity) instead.

        Related endpoints:

         * [Update entity settings](https://docs.monite.com/api/entities/patch-entities-id-settings)
         * [Update entity logo](https://docs.monite.com/api/entities/put-entities-id-logo)
      operationId: patch_entities_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: entity_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - ea837e28-509b-4b6a-a600-d54b6aa0b1f5
          description: A unique ID to specify the entity.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateEntityRequest'
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /entities/{entity_id}/activate:
    post:
      tags:
        - Entities
      summary: Activate an entity
      description: Activate an entity to allow it to perform any operations.
      operationId: post_entities_id_activate
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: entity_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - ea837e28-509b-4b6a-a600-d54b6aa0b1f5
          description: A unique ID to specify the entity.
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /entities/{entity_id}/deactivate:
    post:
      tags:
        - Entities
      summary: Deactivate an entity
      description: Deactivate an entity to stop it from performing any operations.
      operationId: post_entities_id_deactivate
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: entity_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - ea837e28-509b-4b6a-a600-d54b6aa0b1f5
          description: A unique ID to specify the entity.
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /entities/{entity_id}/documents:
    post:
      tags:
        - Onboarding documents
      summary: Update entity onboarding documents
      description: Deprecated. Use `POST /onboarding_documents` instead. Update the onboarding documents of an entity.
      operationId: post_entities_id_documents
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: entity_id
          in: path
      responses:
        "204":
          description: Successful Response
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      deprecated: true
      security:
        - HTTPBearer: []
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/EntityOnboardingDocuments'
  /entities/{entity_id}/logo:
    put:
      tags:
        - Entities
      summary: Upload an entity logo
      description: |-
        Entity logo can be PNG, JPG, or GIF, up to 10 MB in size. The logo is used, for example, in PDF documents created by this entity.

        Both partner tokens and entity user tokens can be used for authentication. Entity users must have a role with the `entity.update` permission.
      operationId: put_entities_id_logo
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: entity_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - ea837e28-509b-4b6a-a600-d54b6aa0b1f5
          description: A unique ID to specify the entity.
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Body_put_entities_id_logo'
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileSchema2'
              example:
                id: 753fbb53-2347-4f47-9bbe-21c9b68b81a1
                created_at: "2025-03-11T13:13:24.841010Z"
                file_type: entity-logo
                name: logo.png
                region: eu-central-1
                md5: 07098e3581e0d599c15121f5634ea124
                mimetype: image/png
                url: https://bucketname.amazonaws.com/path/to/logo-image.png
                size: 63643
                previews: []
                pages: []
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    delete:
      tags:
        - Entities
      summary: Delete an entity's logo
      operationId: delete_entities_id_logo
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: entity_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - ea837e28-509b-4b6a-a600-d54b6aa0b1f5
          description: A unique ID to specify the entity.
      responses:
        "204":
          description: Successful Response
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
      description: Both partner tokens and entity user tokens can be used for authentication. Entity users must have a role with the `entity.update` permission.
  /entities/{entity_id}/onboarding_data:
    get:
      tags:
        - Entity onboarding data
      summary: Get entity onboarding data
      operationId: get_entities_id_onboarding_data
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: entity_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityOnboardingDataResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    put:
      tags:
        - Entity onboarding data
      summary: Update entity onboarding data
      description: Deprecated. Use `PATCH /entities/{entity_id}/onboarding_data` instead. Update entity onboarding data.
      operationId: put_entities_id_onboarding_data
      deprecated: true
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: entity_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EntityOnboardingDataRequest'
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityOnboardingDataResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    patch:
      tags:
        - Entity onboarding data
      summary: Patch entity onboarding data
      operationId: patch_entities_id_onboarding_data
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: entity_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EntityOnboardingDataRequest'
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityOnboardingDataResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /entities/{entity_id}/onboarding_requirements:
    get:
      tags:
        - Onboarding requirements
      summary: Get onboarding requirements
      description: Deprecated. Use `GET /onboarding_requirements` instead. Check the information required to complete the onboarding process.
      operationId: get_entities_id_onboarding_requirements
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: entity_id
          in: path
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OnboardingRequirementsResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      deprecated: true
      security:
        - HTTPBearer: []
  /entities/{entity_id}/partner_metadata:
    get:
      tags:
        - Entities
      summary: Get entity metadata
      description: Retrieve a metadata object associated with this entity, usually in a JSON format.
      operationId: get_entities_id_partner_metadata
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: entity_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartnerMetadataResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    put:
      tags:
        - Entities
      summary: Replace entity metadata
      description: Fully replace the current metadata object with the specified instance.
      operationId: put_entities_id_partner_metadata
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: entity_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PartnerMetadata'
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartnerMetadataResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /entities/{entity_id}/payment_methods:
    get:
      tags:
        - Payment methods
      summary: Get an entity's payment methods
      description: |-
        Returns a list of payments methods that have been previously requested by the entity via [`PUT /entities/{entity_id}/payment_methods`](https://docs.monite.com/api/payment-methods/put-entities-id-payment-methods). For a list of all payment methods supported by Monite, see [Payment methods](https://docs.monite.com/payments/payment-methods).

        Payment methods with the `active` status can be used immediately, whereas `inactive` payment methods require that the entity first completes the [onboarding](https://docs.monite.com/payments/onboarding/index) required by those methods.
      operationId: get_entities_id_payment_methods
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: entity_id
          in: path
          description: ID of the entity whose payment methods you want to get.
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OnboardingPaymentMethodsResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    put:
      tags:
        - Payment methods
      summary: Enable payment methods for an entity
      description: |-
        Sets or updates the list of payment methods available to an entity to send and receive payments. [Payment links](https://docs.monite.com/docs/payment-links) created by this entity can use only the specified payment methods. Supported payment methods [vary by country](https://docs.monite.com/payments/payment-methods).

        Some payment methods require that the entity completes the [onboarding process](https://docs.monite.com/payments/onboarding/index). These payment methods are indicated by the `inactive` status in the response and will become `active` after successful onboarding.

        The specified list of payment methods replaces the previous methods chosen by the entity. Removed payment methods become inactive and can no longer be used in payment links.
      operationId: put_entities_id_payment_methods
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: entity_id
          in: path
          description: ID of the entity to update the payment methods for.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EnabledPaymentMethods'
            examples:
              eu:
                summary: EU payments (minimal)
                value:
                  payment_methods_send:
                    - sepa_credit
                  payment_methods_receive:
                    - card
                    - sepa_credit
                    - sepa_debit
              us:
                summary: US payments
                value:
                  payment_methods_receive:
                    - card
                    - us_ach
                    - affirm
                    - klarna
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OnboardingPaymentMethodsResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /entities/{entity_id}/settings:
    get:
      tags:
        - Entities
      summary: Get entity settings
      description: |-
        Entity settings include configuration options for accounts payable, accounts receivable, accounting integration, and other functionality.

        Both partner tokens and entity user tokens can be used for authentication. Entity users must have a role with the `entity.read` permission.

        Related endpoints:

         * [Get next document numbers](https://docs.monite.com/api/entities/get-entities-id-settings-next-document-numbers)
         * [Get partner settings](https://docs.monite.com/api/partner-settings/get-settings)
      operationId: get_entities_id_settings
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: entity_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - ea837e28-509b-4b6a-a600-d54b6aa0b1f5
          description: A unique ID to specify the entity.
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SettingsResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    patch:
      tags:
        - Entities
      summary: Update entity settings
      description: |-
        Entity settings include configuration options for accounts payable, accounts receivable, accounting integration, and other functionality.

        Both partner tokens and entity user tokens can be used for authentication. Entity users must have a role with the `entity.update` permission.

        Related endpoints:

         * [Update an entity](https://docs.monite.com/api/entities/patch-entities-id)
         * [Update entity logo](https://docs.monite.com/api/entities/put-entities-id-logo)
         * [Update partner settings](https://docs.monite.com/api/partner-settings/patch-settings)
      operationId: patch_entities_id_settings
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: entity_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - ea837e28-509b-4b6a-a600-d54b6aa0b1f5
          description: A unique ID to specify the entity.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchSettingsPayload'
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SettingsResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /entities/{entity_id}/settings/next_document_numbers:
    get:
      tags:
        - Entities
      summary: Get the next document numbers for an entity
      operationId: get_entities_id_settings_next_document_numbers
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: Unique ID of the entity
          required: true
          schema:
            type: string
            format: uuid
          name: entity_id
          in: path
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NextDocumentNumbers'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
      description: |-
        Returns the next sequence number for various document types - invoices, quotes, credit notes, and others. For example, if the last issued invoice is `INV-00042`, the next invoice number is 43.

        To set the next document numbers, use `PATCH /entities/{entity_id}/settings`.

        For more information, see [Document number customization](https://docs.monite.com/advanced/document-number-customization).
  /entities/{entity_id}/vat_ids:
    get:
      tags:
        - Entity VAT IDs
      summary: Get an entity's VAT IDs
      operationId: get_entities_id_vat_ids
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: entity_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityVatIDResourceList'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - Entity VAT IDs
      summary: Create an entity VAT ID
      operationId: post_entities_id_vat_ids
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: entity_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EntityVatID'
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityVatIDResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /entities/{entity_id}/vat_ids/{id}:
    get:
      tags:
        - Entity VAT IDs
      summary: Get an entity's VAT ID
      operationId: get_entities_id_vat_ids_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: entity_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityVatIDResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    patch:
      tags:
        - Entity VAT IDs
      summary: Update an entity's VAT ID
      operationId: patch_entities_id_vat_ids_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: entity_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EntityUpdateVatID'
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityVatIDResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    delete:
      tags:
        - Entity VAT IDs
      summary: Delete an entity's VAT ID
      operationId: delete_entities_id_vat_ids_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: entity_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        "204":
          description: Successful Response
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /entity_users:
    get:
      tags:
        - Entity users
      summary: Get all entity users
      description: Retrieve a list of all entity users.
      operationId: get_entity_users
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: order
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/OrderEnum'
            default: asc
          description: Sort order (ascending by default). Typically used together with the `sort` parameter.
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            default: 100
          description: The number of items (0 .. 100) to return in a single page of the response. The response may contain fewer items if it is the last or only page.
        - name: pagination_token
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: "null"
          description: |-
            A pagination token obtained from a previous call to this endpoint. Use it to get the next or previous page of results for your initial query. If `pagination_token` is specified, all other query parameters are ignored and inferred from the initial query.

            If not specified, the first page of results will be returned.
        - name: sort
          in: query
          required: false
          schema:
            anyOf:
              - $ref: '#/components/schemas/EntityUserCursorFields'
              - type: "null"
          description: The field to sort the results by. Typically used together with the `order` parameter.
        - name: id__in
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                  format: uuid
              - type: "null"
        - name: id__not_in
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                  format: uuid
              - type: "null"
        - name: role_id
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: uuid
              - type: "null"
        - name: role_id__in
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                  format: uuid
              - type: "null"
        - name: login
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: "null"
        - name: status
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: "null"
        - name: first_name
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: "null"
        - name: name__istartswith
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: "null"
        - name: created_at__gt
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: "null"
        - name: created_at__lt
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: "null"
        - name: created_at__gte
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: "null"
        - name: created_at__lte
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: "null"
        - name: x-monite-entity-id
          in: header
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          description: The ID of the entity that owns the requested resource.
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityUserPaginationResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "406":
          description: Not Acceptable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - Entity users
      summary: Create an entity user
      description: Create a new entity user from the specified values.
      operationId: post_entity_users
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: x-monite-entity-id
          in: header
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          description: The ID of the entity that owns the requested resource.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateEntityUserRequest'
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityUserResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /entity_users/me:
    get:
      tags:
        - Entity users
      summary: Get current entity user
      description: The user ID is inferred fron the `Authorization` header, which must contain a user-level access token.
      operationId: get_entity_users_me
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityUserResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    patch:
      tags:
        - Entity users
      summary: Update current entity user
      description: The user ID is inferred fron the `Authorization` header, which must contain a user-level access token.
      operationId: patch_entity_users_me
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateMeEntityUserRequest'
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityUserResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /entity_users/my_entity:
    get:
      tags:
        - Entities
      summary: Get an entity of this user
      description: |-
        Returns the entity to which the authenticated user belongs. This endpoint requires an [entity user access token](https://docs.monite.com/api/concepts/authentication#entity-user-token). The user must have a role with the `entity.read` permission.

        To get an entity by using a partner access token, use [`GET /entities/{entity_id}`](https://docs.monite.com/api/entities/get-entities-id) instead.

        Related endpoints:

         * [Get entity settings](https://docs.monite.com/api/entities/get-entities-id-settings)
      operationId: get_entity_users_my_entity
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    patch:
      tags:
        - Entities
      summary: Update an entity of this user
      description: |-
        Update the entity to which the authenticated user belongs.

        This endpoint requires an [entity user access token](https://docs.monite.com/api/concepts/authentication#entity-user-token). The user must have a role with the `entity.update` permission.

        This endpoint does not use the `X-Monite-Entity-Id` header. The entity ID is inferred from the access token.

        Related endpoints:

         * [Update entity settings](https://docs.monite.com/api/entities/patch-entities-id-settings)
         * [Update entity logo](https://docs.monite.com/api/entities/put-entities-id-logo)
      operationId: patch_entity_users_my_entity
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateEntityRequest'
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /entity_users/my_role:
    get:
      tags:
        - Entity users
      summary: Get a role of this entity user
      description: Retrieves information of a role assigned to this entity user.
      operationId: get_entity_users_my_role
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /entity_users/{entity_user_id}:
    get:
      tags:
        - Entity users
      summary: Get an entity user
      description: Retrieve an entity user by its ID.
      operationId: get_entity_users_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: entity_user_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: x-monite-entity-id
          in: header
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          description: The ID of the entity that owns the requested resource.
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityUserResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "404":
          description: An entity user with the specified ID was not found.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    patch:
      tags:
        - Entity users
      summary: Update an entity user
      description: Change the specified fields with provided values.
      operationId: patch_entity_users_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: entity_user_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: x-monite-entity-id
          in: header
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          description: The ID of the entity that owns the requested resource.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateEntityUserRequest'
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityUserResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "404":
          description: |-
            Possible reasons:

             * An entity user with the specified ID was not found.
             * The specified `role_id` does not exist.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    delete:
      tags:
        - Entity users
      summary: Delete an entity user
      operationId: delete_entity_users_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: entity_user_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: x-monite-entity-id
          in: header
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          description: The ID of the entity that owns the requested resource.
      responses:
        "204":
          description: Successful Response
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "404":
          description: An entity user with the specified ID was not found.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /events:
    get:
      tags:
        - Events
      summary: Get events
      description: |-
        Returns all webhook events that were triggered for the specified entity based on your enabled webhook subscriptions. These are the same events that were sent to your configured webhook listener endpoints, aggregated into a single list. Results can be filtered by the related object type or time period.

        You can use this to get the missed events for the time periods when your webhook listener was temporarily unavailable.

        We guarantee access to event data only from the last three months. Earlier events may be unavailable.
      operationId: get_events
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: order
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/OrderEnum'
            default: asc
          description: Sort order (ascending by default). Typically used together with the `sort` parameter.
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            default: 100
          description: The number of items (0 .. 100) to return in a single page of the response. The response may contain fewer items if it is the last or only page.
        - name: pagination_token
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: "null"
          description: |-
            A pagination token obtained from a previous call to this endpoint. Use it to get the next or previous page of results for your initial query. If `pagination_token` is specified, all other query parameters are ignored and inferred from the initial query.

            If not specified, the first page of results will be returned.
        - name: sort
          in: query
          required: false
          schema:
            anyOf:
              - $ref: '#/components/schemas/EventCursorFields'
              - type: "null"
          description: The field to sort the results by. Typically used together with the `order` parameter.
        - name: object_type
          in: query
          required: false
          schema:
            anyOf:
              - $ref: '#/components/schemas/WebhookObjectType'
              - type: "null"
        - name: created_at__gt
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: "null"
        - name: created_at__lt
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: "null"
        - name: created_at__gte
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: "null"
        - name: created_at__lte
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: "null"
        - name: x-monite-entity-id
          in: header
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          description: The ID of the entity that owns the requested resource.
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventPaginationResource'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /events/{event_id}:
    get:
      tags:
        - Events
      summary: Get an event by ID
      description: Get a webhook event by its ID. The data is the same as you might have previously received in a webhook sent by Monite to your server.
      operationId: get_events_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: event_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: ID of the webhook event. This is the `id` value you might have received in a webhook or retrieved from `GET /events`.
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventResource'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /files:
    get:
      tags:
        - Files
      summary: Get files
      operationId: get_files
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: id__in
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                  format: uuid
                maxItems: 250
              - type: "null"
          description: |-
            Return only files with specified IDs. Valid but nonexistent IDs do not raise errors but produce no results.

            To specify multiple IDs, repeat this parameter for each value: `id__in=<id1>&id__in=<id2>`
        - name: file_type
          in: query
          required: false
          schema:
            anyOf:
              - $ref: '#/components/schemas/AllowedFileTypes'
              - type: "null"
          description: |-
            Return only files with the given purpose. Possible values:

             * `additional_identity_documents` and `identity_documents` - [entity verification documents](https://docs.monite.com/payments/onboarding/via-api/documents) uploaded for payments onboarding.
             * `attachments` - supplementary attachments for accounts receivable invoices, quotes, and credit notes.
             * `delivery_notes` - auto-generated PDF versions of delivery notes.
             * `einvoices_xml` - e-invoice XML generated when sending e-invoices.
             * `payables` - payables (bills) received via email or uploaded via API.
             * `receivable_signatures` - images of customer signatures provided during quote acceptance.
             * `receivables` - auto-generated PDF versions of invoices, quotes, and credit notes.
             * `zip` - data export archives created by `POST /data_exports`.

            Other values are unused.
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FilesResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
      description: |-
        The `/files` endpoint provides access to an entity's files hosted on Monite's servers. This includes both files uploaded by the entity and files that were automatically created by Monite (such as PDF versions of invoices).

        `GET /files` requires at least one query parameter, either `id__in` or `file_type`. You can use this operation to:

         * Bulk fetch multiple files by IDs.
         * Get all files with the given purpose (for example, invoice attachments).

        If no files matching the query parameters were found, the response contains an empty `data` array.

        Both partner tokens and entity user tokens can be used for authentication.
    post:
      tags:
        - Files
      summary: Upload a file
      operationId: post_files
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UploadFile'
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
      description: |-
        Upload files for use as:

         * supplementary attachments for invoices, quotes, and credit notes,
         * [entity verification documents](https://docs.monite.com/payments/onboarding/via-api/documents) for payments onboarding.

        Maximum file size is 15 MB. Each uploaded file is assigned a unique `id` that you can use to reference this file elsewhere.

        Both partner tokens and entity user tokens can be used for authentication.
  /files/{file_id}:
    get:
      tags:
        - Files
      summary: Get a file by ID
      operationId: get_files_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: file_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "404":
          description: A file with the specified ID was not found.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
      description: |-
        Returns the details of an existing file. To bulk fetch multiple files by their IDs, use `GET /files?id__in=<ID1>&id__in=<ID2>`.

        Both partner tokens and entity user tokens can be used for authentication.
    delete:
      tags:
        - Files
      summary: Delete a file
      operationId: delete_files_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: file_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: ID of the file you want to delete.
      responses:
        "204":
          description: The specified file has been successfully deleted.
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "404":
          description: A file with the specified ID was not found.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
      description: |-
        Delete a file with the specified ID.

        **Note:** This endpoint does not check if the specified file is in use. Use with caution.

        Both partner tokens and entity user tokens can be used for authentication.
        #### Considerations for invoice attachments
        Deleting a file does not delete it from the `attachments` list of accounts receivable invoices, quotes, and credit notes because these documents contain an inline copy of all referenced resources. To delete a file from attachments, call `PATCH /receivables/{receivable_id}` and update the `attachments` list to exclude the deleted file.
  /financing_invoices:
    get:
      tags:
        - Financing
      summary: Get invoices
      description: Returns a list of invoices requested for financing
      operationId: get_financing_invoices
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: Sort order (ascending by default). Typically used together with the `sort` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/OrderEnum'
            default: asc
          name: order
          in: query
        - description: The number of items (0 .. 100) to return in a single page of the response. The response may contain fewer items if it is the last or only page.
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            default: 100
          name: limit
          in: query
        - description: |-
            A pagination token obtained from a previous call to this endpoint. Use it to get the next or previous page of results for your initial query. If `pagination_token` is specified, all other query parameters are ignored and inferred from the initial query.

            If not specified, the first page of results will be returned.
          required: false
          schema:
            type: string
          name: pagination_token
          in: query
        - description: The field to sort the results by. Typically used together with the `order` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/FinancingInvoiceCursorFields'
          name: sort
          in: query
        - description: 'ID of a payable or receivable invoice. '
          required: false
          schema:
            type: string
            format: uuid
          name: invoice_id
          in: query
        - description: 'List of invoice IDs. '
          required: false
          schema:
            items:
              type: string
              format: uuid
            type: array
          name: invoice_id__in
          in: query
        - description: 'Status of the invoice. '
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/WCInvoiceStatus'
          name: status
          in: query
        - description: 'List of invoice statuses. '
          required: false
          schema:
            items:
              $ref: '#/components/schemas/WCInvoiceStatus'
            type: array
          name: status__in
          in: query
        - description: 'Type of the invoice. payable or receivable. '
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/FinancingInvoiceType'
          name: type
          in: query
        - description: 'List of invoice types. '
          required: false
          schema:
            items:
              $ref: '#/components/schemas/FinancingInvoiceType'
            type: array
          name: type__in
          in: query
        - description: 'Document ID of the invoice. '
          required: false
          schema:
            type: string
          name: document_id
          in: query
        - description: 'List of document IDs. '
          required: false
          schema:
            items:
              type: string
            type: array
          name: document_id__in
          in: query
        - description: 'Issue date greater than. '
          required: false
          schema:
            type: string
            format: date-time
          name: issue_date__gt
          in: query
        - description: 'Issue date less than. '
          required: false
          schema:
            type: string
            format: date-time
          name: issue_date__lt
          in: query
        - description: 'Issue date greater than or equal. '
          required: false
          schema:
            type: string
            format: date-time
          name: issue_date__gte
          in: query
        - description: 'Issue date less than or equal. '
          required: false
          schema:
            type: string
            format: date-time
          name: issue_date__lte
          in: query
        - description: 'Due date greater than. '
          required: false
          schema:
            type: string
            format: date-time
          name: due_date__gt
          in: query
        - description: 'Due date less than. '
          required: false
          schema:
            type: string
            format: date-time
          name: due_date__lt
          in: query
        - description: 'Due date greater than or equal. '
          required: false
          schema:
            type: string
            format: date-time
          name: due_date__gte
          in: query
        - description: 'Due date less than or equal. '
          required: false
          schema:
            type: string
            format: date-time
          name: due_date__lte
          in: query
        - description: 'Created date greater than. '
          required: false
          schema:
            type: string
            format: date-time
          name: created_at__gt
          in: query
        - description: 'Created date less than. '
          required: false
          schema:
            type: string
            format: date-time
          name: created_at__lt
          in: query
        - description: 'Created date greater than or equal. '
          required: false
          schema:
            type: string
            format: date-time
          name: created_at__gte
          in: query
        - description: 'Created date less than or equal. '
          required: false
          schema:
            type: string
            format: date-time
          name: created_at__lte
          in: query
        - description: 'Total amount of the invoice in minor units. '
          required: false
          schema:
            type: integer
          name: total_amount
          in: query
        - description: 'Total amount greater than. '
          required: false
          schema:
            type: integer
          name: total_amount__gt
          in: query
        - description: 'Total amount less than. '
          required: false
          schema:
            type: integer
          name: total_amount__lt
          in: query
        - description: 'Total amount greater than or equal. '
          required: false
          schema:
            type: integer
          name: total_amount__gte
          in: query
        - description: 'Total amount less than or equal. '
          required: false
          schema:
            type: integer
          name: total_amount__lte
          in: query
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FinancingInvoiceListResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - Financing
      summary: Request financing for invoices
      description: Returns a session token and a connect token to open Kanmon SDK for confirming invoice details.
      operationId: post_financing_invoices
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FinancingPushInvoicesRequest'
        required: true
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FinancingPushInvoicesResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /financing_offers:
    get:
      tags:
        - Financing
      summary: Get financing offers and the business status
      description: Returns a list of financing offers and the business's onboarding status
      operationId: get_financing_offers
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FinancingOffersResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /financing_tokens:
    post:
      tags:
        - Financing
      summary: Create a token for Kanmon SDK
      description: Returns a token for Kanmon SDK. Creates a business and user on Kanmon if not already exist.
      operationId: post_financing_tokens
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FinancingTokenResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /health:
    get:
      tags:
        - System health
      summary: Health check
      description: 'Returns the overall health of the Monite API platform. If the API is healthy, the response has HTTP status 200 and the response body contains `{"status": "pass"}`.'
      operationId: get_health
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HealthResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
  /ledger_accounts:
    get:
      tags:
        - Ledger accounts
      summary: Get ledger accounts
      description: Get all ledger accounts
      operationId: get_ledger_accounts
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: Sort order (ascending by default). Typically used together with the `sort` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/OrderEnum'
            default: asc
          name: order
          in: query
        - description: "The number of items (0 .. 250) to return in a single page of the response. Default is 100. The response may contain fewer items if it is the last or only page. \n\nWhen using pagination with a non-default `limit`, you must provide the `limit` value alongside `pagination_token` in all subsequent pagination requests. Unlike other query parameters, `limit` is not inferred from `pagination_token`."
          required: false
          schema:
            type: integer
            maximum: 250
            minimum: 1
            default: 250
          name: limit
          in: query
        - description: |-
            A pagination token obtained from a previous call to this endpoint. Use it to get the next or previous page of results for your initial query. If `pagination_token` is specified, all other query parameters except `limit` are ignored and inferred from the initial query.

            If not specified, the first page of results will be returned.
          required: false
          schema:
            type: string
          name: pagination_token
          in: query
        - description: The field to sort the results by. Typically used together with the `order` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/LedgerAccountCursorFields'
          name: sort
          in: query
        - description: Filter by external/internal ledger accounts
          required: false
          schema:
            type: boolean
          name: is_external
          in: query
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LedgerAccountListResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - Ledger accounts
      summary: Create a new ledger account
      description: Create a new ledger account
      operationId: post_ledger_accounts
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LedgerAccountCreateRequest'
        required: true
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LedgerAccountResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /ledger_accounts/{ledger_account_id}:
    get:
      tags:
        - Ledger accounts
      summary: Get a ledger account by ID
      description: Get ledger account by id
      operationId: get_ledger_accounts_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: ledger_account_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LedgerAccountResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    patch:
      tags:
        - Ledger accounts
      summary: Update a ledger account
      description: Update an existing ledger account
      operationId: patch_ledger_accounts_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: ledger_account_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LedgerAccountUpdateRequest'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LedgerAccountResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    delete:
      tags:
        - Ledger accounts
      summary: Delete a ledger account
      description: Delete a ledger account
      operationId: delete_ledger_accounts_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: ledger_account_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "204":
          description: Successful Response
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /mail_templates:
    get:
      tags:
        - Mail templates
      summary: Get All With Filters
      description: Get all custom templates
      operationId: get_mail_templates
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: Sort order (ascending by default). Typically used together with the `sort` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/OrderEnum'
            default: asc
          name: order
          in: query
        - description: The number of items (0 .. 100) to return in a single page of the response. The response may contain fewer items if it is the last or only page.
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            default: 100
          name: limit
          in: query
        - description: |-
            A pagination token obtained from a previous call to this endpoint. Use it to get the next or previous page of results for your initial query. If `pagination_token` is specified, all other query parameters are ignored and inferred from the initial query.

            If not specified, the first page of results will be returned.
          required: false
          schema:
            type: string
          name: pagination_token
          in: query
        - description: The field to sort the results by. Typically used together with the `order` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/CustomTemplatesCursorFields'
          name: sort
          in: query
        - required: false
          schema:
            $ref: '#/components/schemas/DocumentObjectTypeRequestEnum'
          name: type
          in: query
        - required: false
          schema:
            items:
              $ref: '#/components/schemas/DocumentObjectTypeRequestEnum'
            type: array
          name: type__in
          in: query
        - required: false
          schema:
            items:
              $ref: '#/components/schemas/DocumentObjectTypeRequestEnum'
            type: array
          name: type__not_in
          in: query
        - required: false
          schema:
            type: boolean
          name: is_default
          in: query
        - required: false
          schema:
            type: string
          name: name
          in: query
        - required: false
          schema:
            type: string
          name: name__iexact
          in: query
        - required: false
          schema:
            type: string
          name: name__contains
          in: query
        - required: false
          schema:
            type: string
          name: name__icontains
          in: query
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomTemplatesPaginationResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - Mail templates
      summary: Create
      description: Create custom template
      operationId: post_mail_templates
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddCustomTemplateSchema'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomTemplateDataSchema'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /mail_templates/preview:
    post:
      tags:
        - Mail templates
      summary: Preview
      description: Preview rendered template
      operationId: post_mail_templates_preview
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PreviewTemplateRequest'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PreviewTemplateResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /mail_templates/system:
    get:
      tags:
        - Mail templates
      summary: Get All System Templates
      description: Get all system templates
      operationId: get_mail_templates_system
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SystemTemplates'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /mail_templates/{template_id}:
    get:
      tags:
        - Mail templates
      summary: Get
      description: Get custom template by ID
      operationId: get_mail_templates_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: template_id
          in: path
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomTemplateDataSchema'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    patch:
      tags:
        - Mail templates
      summary: Update
      description: Update custom template by ID
      operationId: patch_mail_templates_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: template_id
          in: path
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCustomTemplateSchemaRequest'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomTemplateDataSchema'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    delete:
      tags:
        - Mail templates
      summary: Delete
      description: Delete custom template bt ID
      operationId: delete_mail_templates_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: template_id
          in: path
      responses:
        "204":
          description: Successful Response
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /mail_templates/{template_id}/make_default:
    post:
      tags:
        - Mail templates
      summary: Make Default
      description: Make template default
      operationId: post_mail_templates_id_make_default
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: template_id
          in: path
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomTemplateDataSchema'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /mailbox_domains:
    get:
      tags:
        - Mailbox domains
      summary: Get mailbox domains
      description: Get all domains owned by partner_id
      operationId: get_mailbox_domains
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DomainListResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - Mailbox domains
      summary: Create a mailbox domain
      description: Create domain for the partner_id
      operationId: post_mailbox_domains
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DomainRequest'
        required: true
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DomainResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /mailbox_domains/{domain_id}:
    delete:
      tags:
        - Mailbox domains
      summary: Delete a mailbox domain
      description: Delete domain for the partner_id
      operationId: delete_mailbox_domains_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: domain_id
          in: path
      responses:
        "204":
          description: Successful Response
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /mailbox_domains/{domain_id}/verify:
    post:
      tags:
        - Mailbox domains
      summary: Verify a mailbox domain
      description: Verify domain for the partner_id
      operationId: post_mailbox_domains_id_verify
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: domain_id
          in: path
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VerifyResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /mailboxes:
    get:
      tags:
        - Mailboxes
      summary: Get mailboxes
      description: Get all mailboxes owned by Entity
      operationId: get_mailboxes
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MailboxDataResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - Mailboxes
      summary: Create a mailbox
      description: Create a new mailbox
      operationId: post_mailboxes
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MailboxDomainRequest'
        required: true
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MailboxResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /mailboxes/search:
    post:
      tags:
        - Mailboxes
      summary: Get mailboxes by IDs
      description: Get all mailboxes owned by Entity
      operationId: post_mailboxes_search
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MailboxMultipleEntitiesRequest'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MailboxDataResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /mailboxes/{mailbox_id}:
    delete:
      tags:
        - Mailboxes
      summary: Delete a mailbox
      description: Delete mailbox
      operationId: delete_mailboxes_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: mailbox_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "204":
          description: Successful Response
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /measure_units:
    get:
      tags:
        - Measure units
      summary: Get measure units
      operationId: get_measure_units
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnitListResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - Measure units
      summary: Create a measure unit
      operationId: post_measure_units
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UnitRequest'
        required: true
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnitResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /measure_units/{unit_id}:
    get:
      tags:
        - Measure units
      summary: Get a measure unit by ID
      operationId: get_measure_units_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: unit_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnitResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: A measure unit with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    patch:
      tags:
        - Measure units
      summary: Update a measure unit
      operationId: patch_measure_units_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: unit_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UnitUpdate'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnitResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: A measure unit with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    delete:
      tags:
        - Measure units
      summary: Delete a measure unit
      operationId: delete_measure_units_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: unit_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "204":
          description: Successful Response
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: A measure unit with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /ocr_tasks:
    get:
      tags:
        - OCR
      summary: Get OCR tasks
      operationId: get_ocr_tasks
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: Sort order (ascending by default). Typically used together with the `sort` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/OrderEnum'
            default: asc
          name: order
          in: query
        - description: The number of items (0 .. 100) to return in a single page of the response. The response may contain fewer items if it is the last or only page.
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            default: 100
          name: limit
          in: query
        - description: |-
            A pagination token obtained from a previous call to this endpoint. Use it to get the next or previous page of results for your initial query. If `pagination_token` is specified, all other query parameters are ignored and inferred from the initial query.

            If not specified, the first page of results will be returned.
          required: false
          schema:
            type: string
          name: pagination_token
          in: query
        - description: The field to sort the results by. Typically used together with the `order` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/CursorFields'
          name: sort
          in: query
        - description: Return only ocr tasks created after the specified date and time. The value must be in the ISO 8601 format YYYY-MM-DDThh:mm[:ss[.ffffff]][Z|±hh:mm].
          required: false
          schema:
            type: string
            format: date-time
          name: created_at__gt
          in: query
        - description: Return only ocr tasks created in Monite before the specified date and time.
          required: false
          schema:
            type: string
            format: date-time
          name: created_at__lt
          in: query
        - description: Return only ocr tasks created on or after the specified date and time.
          required: false
          schema:
            type: string
            format: date-time
          name: created_at__gte
          in: query
        - description: Return only ocr tasks created before or on the specified date and time.
          required: false
          schema:
            type: string
            format: date-time
          name: created_at__lte
          in: query
        - description: Return only ocr tasks that have the specified status.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/OCRTaskStatus'
          name: status
          in: query
        - description: Return only OCR tasks related to documents of a specific type.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/OCRDocumentTypeEnum'
          name: document_type
          in: query
        - description: |-
            Return only ocr tasks with specified IDs. Valid but nonexistent IDs do not raise errors but produce no results.

            To specify multiple IDs, repeat this parameter for each value: `id__in=<id1>&id__in=<id2>`
          required: false
          schema:
            items:
              type: string
              format: uuid
            type: array
          name: id__in
          in: query
        - description: The ID of the entity that owns the requested resource.
          required: false
          schema:
            type: string
            format: uuid
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OCRTasksPaginationResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "404":
          description: OCR request is not found
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - OCR
      summary: OCR a file from URL
      operationId: post_ocr_tasks
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: false
          schema:
            type: string
            format: uuid
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateOCRRequestPayload'
        required: true
      responses:
        "202":
          description: OCR task has been accepted for execution.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OcrTaskResponseSchema'
        "400":
          description: OCR previously tried to recognize this file and failed.
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "413":
          description: File size exceeds the limit for OCR processing.
        "415":
          description: Unsupported file format. OCR supports only PNG, JPG, and PDF.
        "421":
          description: The specified file URL is not reachable.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "424":
          description: The specified file URL is reachable but returned an HTTP error status code.
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /ocr_tasks/upload_from_file:
    post:
      tags:
        - OCR
      summary: Upload a file for OCR
      operationId: post_ocr_tasks_upload_from_file
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: false
          schema:
            $ref: '#/components/schemas/OCRDocumentTypeEnum'
          name: document_type
          in: query
        - description: The ID of the entity that owns the requested resource.
          required: false
          schema:
            type: string
            format: uuid
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/OCRFileUpload'
        required: true
      responses:
        "202":
          description: OCR task has been accepted for execution.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OcrTaskResponseSchema'
        "400":
          description: OCR failed to process the specified file.
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "413":
          description: File size exceeds the limit for OCR processing.
        "415":
          description: Unsupported file format. OCR supports only PNG, JPG, and PDF.
        "422":
          description: File name is too long.
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /ocr_tasks/{task_id}:
    get:
      tags:
        - OCR
      summary: Get an OCR task by ID
      operationId: get_ocr_tasks_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: task_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: false
          schema:
            type: string
            format: uuid
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OcrTaskResponseSchema'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "404":
          description: OCR task with the specified ID was not found.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /onboarding_documents:
    post:
      tags:
        - Onboarding documents
      summary: Provide files for entity onboarding verification
      description: Provide files for entity onboarding verification
      operationId: post_onboarding_documents
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EntityOnboardingDocumentsPayload'
        required: true
      responses:
        "204":
          description: Successful Response
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /onboarding_requirements:
    get:
      tags:
        - Onboarding requirements
      summary: Get onboarding requirements
      description: Get onboarding requirements for the entity
      operationId: get_onboarding_requirements
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetOnboardingRequirementsResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /overdue_reminders:
    get:
      tags:
        - Overdue reminders
      summary: Get overdue reminder configurations
      operationId: get_overdue_reminders
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AllOverdueRemindersResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - Overdue reminders
      summary: Create an overdue reminder configuration
      operationId: post_overdue_reminders
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OverdueReminderRequest'
        required: true
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OverdueReminderResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /overdue_reminders/{overdue_reminder_id}:
    get:
      tags:
        - Overdue reminders
      summary: Get an overdue reminder configuration by ID
      operationId: get_overdue_reminders_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: overdue_reminder_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OverdueReminderResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    patch:
      tags:
        - Overdue reminders
      summary: Update an overdue reminder configuration
      operationId: patch_overdue_reminders_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: overdue_reminder_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OverdueReminderUpdateRequest'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OverdueReminderResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    delete:
      tags:
        - Overdue reminders
      summary: Delete an overdue reminder configuration
      operationId: delete_overdue_reminders_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: overdue_reminder_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "204":
          description: Successful Response
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payable_credit_notes:
    get:
      tags:
        - Credit notes
      summary: Get credit notes
      operationId: get_payable_credit_notes
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: Sort order (ascending by default). Typically used together with the `sort` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/OrderEnum'
            default: asc
          name: order
          in: query
        - description: The number of items (0 .. 100) to return in a single page of the response. The response may contain fewer items if it is the last or only page.
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            default: 100
          name: limit
          in: query
        - description: |-
            A pagination token obtained from a previous call to this endpoint. Use it to get the next or previous page of results for your initial query. If `pagination_token` is specified, all other query parameters are ignored and inferred from the initial query.

            If not specified, the first page of results will be returned.
          required: false
          schema:
            type: string
          name: pagination_token
          in: query
        - description: The field to sort the results by. Typically used together with the `order` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/CreditNoteCursorFields'
          name: sort
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__gt
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__lt
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__gte
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__lte
          in: query
        - required: false
          schema:
            type: string
            format: date
          name: issued_at
          in: query
        - required: false
          schema:
            type: string
            format: date
          name: issued_at__gt
          in: query
        - required: false
          schema:
            type: string
            format: date
          name: issued_at__lt
          in: query
        - required: false
          schema:
            type: string
            format: date
          name: issued_at__gte
          in: query
        - required: false
          schema:
            type: string
            format: date
          name: issued_at__lte
          in: query
        - required: false
          schema:
            type: string
          name: document_id
          in: query
        - required: false
          schema:
            type: string
          name: document_id__iexact
          in: query
        - required: false
          schema:
            type: string
          name: document_id__contains
          in: query
        - required: false
          schema:
            type: string
          name: document_id__icontains
          in: query
        - required: false
          schema:
            type: boolean
          name: has_file
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: total_amount__gt
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: total_amount__lt
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: total_amount__gte
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: total_amount__lte
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: subtotal__gt
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: subtotal__lt
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: subtotal__gte
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: subtotal__lte
          in: query
        - required: false
          schema:
            type: string
            format: uuid
          name: based_on
          in: query
        - required: false
          schema:
            type: string
            format: uuid
          name: counterpart_id
          in: query
        - required: false
          schema:
            type: string
            format: uuid
          name: created_by_entity_user_id
          in: query
        - required: false
          schema:
            $ref: '#/components/schemas/PayableCreditNoteStateEnum'
          name: status
          in: query
        - required: false
          schema:
            items:
              $ref: '#/components/schemas/PayableCreditNoteStateEnum'
            type: array
          name: status__in
          in: query
        - required: false
          schema:
            items:
              $ref: '#/components/schemas/PayableCreditNoteStateEnum'
            type: array
          name: status__not_in
          in: query
        - required: false
          schema:
            $ref: '#/components/schemas/OriginEnum'
          name: origin
          in: query
        - required: false
          schema:
            $ref: '#/components/schemas/CurrencyEnum'
          name: currency
          in: query
        - required: false
          schema:
            type: string
            format: uuid
          name: project_id
          in: query
        - required: false
          schema:
            items:
              type: string
              format: uuid
            type: array
          name: project_id__in
          in: query
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreditNotePaginationResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "406":
          description: Not Acceptable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - Credit notes
      summary: Create a credit note
      operationId: post_payable_credit_notes
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreditNoteCreateRequest'
        required: true
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreditNoteResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payable_credit_notes/upload_from_file:
    post:
      tags:
        - Credit notes
      summary: Upload a credit note from a file
      description: Upload an incoming credit note (payable) in PDF, PNG, or JPEG format and scan its contents. The maximum file size is 20MB.
      operationId: post_payable_credit_notes_upload_from_file
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreditNoteUploadFile'
        required: true
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreditNoteResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "409":
          description: Error uploading the file.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payable_credit_notes/validations:
    get:
      tags:
        - Credit notes
      summary: Get credit note validations
      description: Get credit notes validations.
      operationId: get_payable_credit_notes_validations
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreditNoteValidationsResource'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    put:
      tags:
        - Credit notes
      summary: Update credit note validations
      description: Update credit notes validations.
      operationId: put_payable_credit_notes_validations
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreditNoteValidationsResource'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreditNoteValidationsResource'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payable_credit_notes/validations/reset:
    post:
      tags:
        - Credit notes
      summary: Reset credit note validations
      description: Reset credit notes validations.
      operationId: post_payable_credit_notes_validations_reset
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreditNoteValidationsResource'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payable_credit_notes/{credit_note_id}:
    get:
      tags:
        - Credit notes
      summary: Get a credit note by ID
      operationId: get_payable_credit_notes_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: credit_note_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreditNoteResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    patch:
      tags:
        - Credit notes
      summary: Update a credit note
      operationId: patch_payable_credit_notes_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: credit_note_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreditNoteUpdateRequest'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreditNoteResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    delete:
      tags:
        - Credit notes
      summary: Delete a credit note
      operationId: delete_payable_credit_notes_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: credit_note_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "204":
          description: Successful Response
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payable_credit_notes/{credit_note_id}/approve:
    post:
      tags:
        - Credit notes
      summary: Approve a credit note
      description: Approve the credit note for appliance.
      operationId: post_payable_credit_notes_id_approve
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: credit_note_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreditNoteResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payable_credit_notes/{credit_note_id}/cancel:
    post:
      tags:
        - Credit notes
      summary: Cancel a credit note
      description: Cancel the credit note that was not confirmed during the review.
      operationId: post_payable_credit_notes_id_cancel
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: credit_note_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreditNoteResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payable_credit_notes/{credit_note_id}/cancel_ocr:
    post:
      tags:
        - Credit notes
      summary: Cancel OCR of a credit note
      description: Request to cancel the OCR processing of the specified credit note.
      operationId: post_payable_credit_notes_id_cancel_ocr
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: credit_note_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreditNoteResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "409":
          description: 'Possible responses: `Action for {object_type} at permissions not found: {action}`, `Object type at permissions not found: {object_type}`, `Action {action} for {object_type} not allowed`, `Credit Note couldn''t be updated due to current state`, `The file cannot be attached because another file is already attached. Please note that only one file attachment is allowed.`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payable_credit_notes/{credit_note_id}/line_items:
    get:
      tags:
        - Credit notes
      summary: Get all line items of a credit note
      operationId: get_payable_credit_notes_id_line_items
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: credit_note_id
          in: path
        - description: Sort order (ascending by default). Typically used together with the `sort` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/OrderEnum'
            default: asc
          name: order
          in: query
        - description: The number of items (0 .. 100) to return in a single page of the response. The response may contain fewer items if it is the last or only page.
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            default: 100
          name: limit
          in: query
        - description: |-
            A pagination token obtained from a previous call to this endpoint. Use it to get the next or previous page of results for your initial query. If `pagination_token` is specified, all other query parameters are ignored and inferred from the initial query.

            If not specified, the first page of results will be returned.
          required: false
          schema:
            type: string
          name: pagination_token
          in: query
        - description: The field to sort the results by. Typically used together with the `order` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/CreditNoteLineItemCursorFields'
          name: sort
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__gt
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__lt
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__gte
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__lte
          in: query
        - required: false
          schema:
            type: string
          name: name
          in: query
        - required: false
          schema:
            type: string
          name: name__iexact
          in: query
        - required: false
          schema:
            type: string
          name: name__contains
          in: query
        - required: false
          schema:
            type: string
          name: name__icontains
          in: query
        - required: false
          schema:
            type: string
          name: description
          in: query
        - required: false
          schema:
            type: string
          name: description__contains
          in: query
        - required: false
          schema:
            type: string
          name: description__icontains
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: total__gt
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: total__lt
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: total__gte
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: total__lte
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: subtotal__gt
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: subtotal__lt
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: subtotal__gte
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: subtotal__lte
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: unit_price__gt
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: unit_price__lt
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: unit_price__gte
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: unit_price__lte
          in: query
        - required: false
          schema:
            type: number
            minimum: 0
          name: quantity__gt
          in: query
        - required: false
          schema:
            type: number
            minimum: 0
          name: quantity__lt
          in: query
        - required: false
          schema:
            type: number
            minimum: 0
          name: quantity__gte
          in: query
        - required: false
          schema:
            type: number
            minimum: 0
          name: quantity__lte
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: tax__gt
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: tax__lt
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: tax__gte
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: tax__lte
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: tax_amount__gt
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: tax_amount__lt
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: tax_amount__gte
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: tax_amount__lte
          in: query
        - required: false
          schema:
            type: string
            format: uuid
          name: created_by_user_id
          in: query
        - required: false
          schema:
            type: string
          name: unit
          in: query
        - required: false
          schema:
            type: string
          name: unit__iexact
          in: query
        - required: false
          schema:
            type: string
          name: source
          in: query
        - required: false
          schema:
            type: string
          name: source_id
          in: query
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreditNoteLineItemPaginationResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - Credit notes
      summary: Add a new line item to a credit note
      operationId: post_payable_credit_notes_id_line_items
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: credit_note_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreditNoteLineItemCreateRequest'
        required: true
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreditNoteLineItemResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    put:
      tags:
        - Credit notes
      summary: Replace all line items of a credit note
      operationId: put_payable_credit_notes_id_line_items
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: credit_note_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreditNoteLineItemReplaceRequest'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreditNoteLineItemPaginationResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payable_credit_notes/{credit_note_id}/line_items/{line_item_id}:
    get:
      tags:
        - Credit notes
      summary: Get a single line item of a credit note
      operationId: get_payable_credit_notes_id_line_items_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: credit_note_id
          in: path
        - required: true
          schema:
            type: string
            format: uuid
          name: line_item_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreditNoteLineItemResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    patch:
      tags:
        - Credit notes
      summary: Update a line item of a credit note
      operationId: patch_payable_credit_notes_id_line_items_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: credit_note_id
          in: path
        - required: true
          schema:
            type: string
            format: uuid
          name: line_item_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreditNoteLineItemUpdateRequest'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreditNoteLineItemResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    delete:
      tags:
        - Credit notes
      summary: Delete a line item from a credit note
      operationId: delete_payable_credit_notes_id_line_items_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: credit_note_id
          in: path
        - required: true
          schema:
            type: string
            format: uuid
          name: line_item_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreditNoteLineItemPaginationResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payable_credit_notes/{credit_note_id}/reject:
    post:
      tags:
        - Credit notes
      summary: Reject a credit note
      description: Decline the credit note when an approver finds any mismatch or discrepancies.
      operationId: post_payable_credit_notes_id_reject
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: credit_note_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreditNoteResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payable_credit_notes/{credit_note_id}/submit_for_approval:
    post:
      tags:
        - Credit notes
      summary: Submit a credit note for approval
      description: Start the approval process once the uploaded credit note is validated.
      operationId: post_payable_credit_notes_id_submit_for_approval
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: credit_note_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreditNoteResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payable_credit_notes/{credit_note_id}/validate:
    get:
      tags:
        - Credit notes
      summary: Validate a credit note
      operationId: get_payable_credit_notes_id_validate
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: credit_note_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreditNoteValidationResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payable_purchase_orders:
    get:
      tags:
        - Purchase orders
      summary: Get purchase orders
      operationId: get_payable_purchase_orders
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: Sort order (ascending by default). Typically used together with the `sort` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/OrderEnum'
            default: asc
          name: order
          in: query
        - description: The number of items (0 .. 100) to return in a single page of the response. The response may contain fewer items if it is the last or only page.
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            default: 100
          name: limit
          in: query
        - description: |-
            A pagination token obtained from a previous call to this endpoint. Use it to get the next or previous page of results for your initial query. If `pagination_token` is specified, all other query parameters are ignored and inferred from the initial query.

            If not specified, the first page of results will be returned.
          required: false
          schema:
            type: string
          name: pagination_token
          in: query
        - description: The field to sort the results by. Typically used together with the `order` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/PurchaseOrderCursorFields'
          name: sort
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__gt
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__lt
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__gte
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__lte
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: updated_at__gt
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: updated_at__lt
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: updated_at__gte
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: updated_at__lte
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: issued_at__gt
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: issued_at__lt
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: issued_at__gte
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: issued_at__lte
          in: query
        - required: false
          schema:
            $ref: '#/components/schemas/PurchaseOrderStatusEnum'
          name: status
          in: query
        - required: false
          schema:
            type: string
          name: document_id
          in: query
        - required: false
          schema:
            items:
              type: string
            type: array
          name: document_id__in
          in: query
        - required: false
          schema:
            type: string
            format: uuid
          name: created_by
          in: query
        - required: false
          schema:
            type: string
            format: uuid
          name: counterpart_id
          in: query
        - required: false
          schema:
            items:
              type: string
              format: uuid
            type: array
          name: counterpart_id__in
          in: query
        - required: false
          schema:
            type: string
          name: counterpart.name
          in: query
        - required: false
          schema:
            $ref: '#/components/schemas/CurrencyEnum'
          name: currency
          in: query
        - required: false
          schema:
            items:
              $ref: '#/components/schemas/CurrencyEnum'
            type: array
          name: currency__in
          in: query
        - required: false
          schema:
            type: string
            format: uuid
          name: project_id
          in: query
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseOrderPaginationResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - Purchase orders
      summary: Create a purchase order
      operationId: post_payable_purchase_orders
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PurchaseOrderPayloadSchema'
        required: true
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseOrderResponseSchema'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payable_purchase_orders/variables:
    get:
      tags:
        - Purchase orders
      summary: Get the available variables for purchase orders
      description: Get a list of placeholders allowed to insert into an email template for customization
      operationId: get_payable_purchase_orders_variables
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VariablesObjectList'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payable_purchase_orders/{purchase_order_id}:
    get:
      tags:
        - Purchase orders
      summary: Get a purchase order by ID
      operationId: get_payable_purchase_orders_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: purchase_order_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseOrderResponseSchema'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    patch:
      tags:
        - Purchase orders
      summary: Update a purchase order
      operationId: patch_payable_purchase_orders_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: purchase_order_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePurchaseOrderPayloadSchema'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseOrderResponseSchema'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    delete:
      tags:
        - Purchase orders
      summary: Delete a purchase order
      operationId: delete_payable_purchase_orders_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: purchase_order_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "204":
          description: Successful Response
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payable_purchase_orders/{purchase_order_id}/preview:
    post:
      tags:
        - Purchase orders
      summary: Preview a purchase order's email message
      operationId: post_payable_purchase_orders_id_preview
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: purchase_order_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PurchaseOrderEmailPreviewRequest'
        required: true
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseOrderEmailPreviewResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payable_purchase_orders/{purchase_order_id}/send:
    post:
      tags:
        - Purchase orders
      summary: Send a purchase order via email
      operationId: post_payable_purchase_orders_id_send
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: purchase_order_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SendPurchaseOrderViaEmailRequest'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseOrderEmailSentResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payables:
    get:
      tags:
        - Payables
      summary: Get payables
      description: |-
        Lists all payables from the connected entity.

        If you already have the data of the payable (amount in [minor units](
        https://docs.monite.com/references/currencies#minor-units), currency, vendor information, and other details)
        stored somewhere as individual attributes, you can create a payable with these attributes by calling [POST
        /payables](https://docs.monite.com/api/payables/post-payables) and providing the [base64-encoded](
        https://en.wikipedia.org/wiki/Base64) contents of the original invoice file in the field `base64_encoded_file`.

        A payable is a financial document given by an entity`s supplier itemizing the purchase of a good or a service and
        demanding payment.

        The `file_name` field is optional. If omitted, it defaults to “default_file_name”. If the settings are configured
        to automatically set `suggested_payment_term`, this object can be omitted from the request body.

        The `id` generated for this payable can be used in other API calls to update the data of this payable or trigger [
        status transitions](https://docs.monite.com/accounts-payable/approvals/manual-transition), for example. essential data
        fields to move from `draft` to `new`

        Related guide: [Create a payable from data](https://docs.monite.com/accounts-payable/payables/collect#create-a-payable-from-data)

        See also:


        [Automatic calculation of due date](https://docs.monite.com/accounts-payable/payables/collect#automatic-calculation-of-due-date)

        [Suggested payment date](https://docs.monite.com/accounts-payable/payables/collect#suggested-payment-date)

        [Attach file](https://docs.monite.com/accounts-payable/payables/collect#attach-file)

        [Collect payables by email](https://docs.monite.com/accounts-payable/payables/collect#send-payables-by-email)

        [Manage line items](https://docs.monite.com/accounts-payable/payables/line-items)
      operationId: get_payables
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: Sort order (ascending by default). Typically used together with the `sort` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/OrderEnum'
            default: asc
          name: order
          in: query
        - description: The number of items (0 .. 100) to return in a single page of the response. The response may contain fewer items if it is the last or only page.
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            default: 100
          name: limit
          in: query
        - description: |-
            A pagination token obtained from a previous call to this endpoint. Use it to get the next or previous page of results for your initial query. If `pagination_token` is specified, all other query parameters are ignored and inferred from the initial query.

            If not specified, the first page of results will be returned.
          required: false
          schema:
            type: string
          name: pagination_token
          in: query
        - description: The field to sort the results by. Typically used together with the `order` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/PayableCursorFields'
          name: sort
          in: query
        - description: Return only payables created in Monite after the specified date and time. The value must be in the ISO 8601 format YYYY-MM-DDThh:mm[:ss[.ffffff]][Z|±hh:mm].
          required: false
          schema:
            type: string
            format: date-time
          name: created_at__gt
          in: query
        - description: Return only payables created in Monite before the specified date and time.
          required: false
          schema:
            type: string
            format: date-time
          name: created_at__lt
          in: query
        - description: Return only payables created in Monite on or after the specified date and time.
          required: false
          schema:
            type: string
            format: date-time
          name: created_at__gte
          in: query
        - description: Return only payables created in Monite before or on the specified date and time.
          required: false
          schema:
            type: string
            format: date-time
          name: created_at__lte
          in: query
        - description: |-
            Return only payables that have the specified [status](https://docs.monite.com/accounts-payable/payables/index).

            To query multiple statuses at once, use the `status__in` parameter instead.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/PayableStateEnum'
          name: status
          in: query
        - description: |-
            Return only payables that have the specified [statuses](https://docs.monite.com/accounts-payable/payables/index).

            To specify multiple statuses, repeat this parameter for each value: `status__in=draft&status__in=new`
          required: false
          schema:
            items:
              $ref: '#/components/schemas/PayableStateEnum'
            type: array
          name: status__in
          in: query
        - description: |-
            Return only payables with specified IDs. Valid but nonexistent IDs do not raise errors but produce no results.

            To specify multiple IDs, repeat this parameter for each value: `id__in=<id1>&id__in=<id2>`
          required: false
          schema:
            items:
              type: string
              format: uuid
            type: array
          name: id__in
          in: query
        - description: Return only payables with the exact specified total amount. The amount must be specified in the minor units of currency. For example, $12.5 is represented as 1250.
          required: false
          schema:
            type: integer
          name: total_amount
          in: query
        - description: Return only payables whose total amount (in minor units) exceeds the specified value.
          required: false
          schema:
            type: integer
          name: total_amount__gt
          in: query
        - description: Return only payables whose total amount (in minor units) is less than the specified value.
          required: false
          schema:
            type: integer
          name: total_amount__lt
          in: query
        - description: Return only payables whose total amount (in minor units) is greater than or equal to the specified value.
          required: false
          schema:
            type: integer
          name: total_amount__gte
          in: query
        - description: Return only payables whose total amount (in minor units) is less than or equal to the specified value.
          required: false
          schema:
            type: integer
          name: total_amount__lte
          in: query
        - description: Return only payables with the specified amount.
          required: false
          schema:
            type: integer
          name: amount
          in: query
        - description: Return only payables whose amount (in minor units) exceeds the specified value.
          required: false
          schema:
            type: integer
          name: amount__gt
          in: query
        - description: Return only payables whose amount (in minor units) is less than the specified value.
          required: false
          schema:
            type: integer
          name: amount__lt
          in: query
        - description: Return only payables whose amount (in minor units) is greater than or equal to the specified value.
          required: false
          schema:
            type: integer
          name: amount__gte
          in: query
        - description: Return only payables whose amount (in minor units) is less than or equal to the specified value.
          required: false
          schema:
            type: integer
          name: amount__lte
          in: query
        - description: Return only payables that use the specified currency.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/CurrencyEnum'
          name: currency
          in: query
        - description: |-
            Return only payables received from counterparts with the specified name (exact match, case-sensitive).

            For counterparts of `type = individual`, the full name is formatted as `first_name last_name`.
          required: false
          schema:
            type: string
          name: counterpart_name
          in: query
        - description: Return only payables received from counterparts whose name contains the specified string (case-sensitive).
          required: false
          schema:
            type: string
          name: counterpart_name__contains
          in: query
        - description: Return only payables received from counterparts whose name contains the specified string (case-insensitive).
          required: false
          schema:
            type: string
          name: counterpart_name__icontains
          in: query
        - description: Apply the `icontains` condition to search for the specified text in the `document_id` and `counterpart_name` fields in the payables.
          required: false
          schema:
            type: string
          name: search_text
          in: query
        - description: Return payables that are due on the specified date (YYYY-MM-DD)
          required: false
          schema:
            type: string
            format: date
          name: due_date
          in: query
        - description: Return payables that are due after the specified date (exclusive, YYYY-MM-DD).
          required: false
          schema:
            type: string
            format: date
          name: due_date__gt
          in: query
        - description: Return payables that are due before the specified date (exclusive, YYYY-MM-DD).
          required: false
          schema:
            type: string
            format: date
          name: due_date__lt
          in: query
        - description: Return payables that are due on or after the specified date (YYYY-MM-DD).
          required: false
          schema:
            type: string
            format: date
          name: due_date__gte
          in: query
        - description: Return payables that are due before or on the specified date (YYYY-MM-DD).
          required: false
          schema:
            type: string
            format: date
          name: due_date__lte
          in: query
        - description: Return payables that are issued at the specified date (YYYY-MM-DD)
          required: false
          schema:
            type: string
            format: date
          name: issued_at
          in: query
        - description: Return payables that are issued after the specified date (exclusive, YYYY-MM-DD).
          required: false
          schema:
            type: string
            format: date
          name: issued_at__gt
          in: query
        - description: Return payables that are issued before the specified date (exclusive, YYYY-MM-DD).
          required: false
          schema:
            type: string
            format: date
          name: issued_at__lt
          in: query
        - description: Return payables that are issued on or after the specified date (YYYY-MM-DD).
          required: false
          schema:
            type: string
            format: date
          name: issued_at__gte
          in: query
        - description: Return payables that are issued before or on the specified date (YYYY-MM-DD).
          required: false
          schema:
            type: string
            format: date
          name: issued_at__lte
          in: query
        - description: |-
            Return a payable with the exact specified document number (case-sensitive).

            The `document_id` is the user-facing document number such as INV-00042, not to be confused with Monite resource IDs (`id`).
          required: false
          schema:
            type: string
          name: document_id
          in: query
        - description: Return only payables whose document number (`document_id`) contains the specified string (case-sensitive).
          required: false
          schema:
            type: string
          name: document_id__contains
          in: query
        - description: Return only payables whose document number (`document_id`) contains the specified string (case-insensitive).
          required: false
          schema:
            type: string
          name: document_id__icontains
          in: query
        - description: Return only payables created in Monite by the entity user with the specified ID.
          required: false
          schema:
            type: string
            format: uuid
          name: was_created_by_user_id
          in: query
        - description: |-
            Return only payables received from the counterpart with the specified ID.

            Counterparts that have been deleted but have associated payables will still return results here because the payables contain a frozen copy of the counterpart data.

            If the specified counterpart ID does not exist and never existed, no results are returned.
          required: false
          schema:
            type: string
            format: uuid
          name: counterpart_id
          in: query
        - description: Return only payables coming from the specified source.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/SourceOfPayableDataEnum'
          name: source_of_payable_data
          in: query
        - description: Return only payables with specific OCR statuses.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/OcrStatusEnum'
          name: ocr_status
          in: query
        - description: Search for a payable by the identifier of the line item associated with it.
          required: false
          schema:
            type: string
            format: uuid
          name: line_item_id
          in: query
        - description: Search for a payable by the identifier of the purchase order associated with it.
          required: false
          schema:
            type: string
            format: uuid
          name: purchase_order_id
          in: query
        - description: |-
            Return only payables assigned to the project with the specified ID.

            Valid but nonexistent project IDs do not raise errors but return no results.
          required: false
          schema:
            type: string
            format: uuid
          name: project_id
          in: query
        - description: Return only payables whose `project_id` include at least one of the project_id with the specified IDs. Valid but nonexistent project IDs do not raise errors but produce no results.
          required: false
          schema:
            items:
              type: string
              format: uuid
            type: array
          name: project_id__in
          in: query
        - description: Return only payables whose `tags` include at least one of the tags with the specified IDs. Valid but nonexistent tag IDs do not raise errors but produce no results.
          required: false
          schema:
            items:
              type: string
              format: uuid
            type: array
          name: tag_ids
          in: query
        - description: Return only payables whose `tags` do not include any of the tags with the specified IDs. Valid but nonexistent tag IDs do not raise errors but produce the results.
          required: false
          schema:
            items:
              type: string
              format: uuid
            type: array
          name: tag_ids__not_in
          in: query
        - description: Filter objects based on whether they have tags. If true, only objects with tags are returned. If false, only objects without tags are returned.
          required: false
          schema:
            type: boolean
          name: has_tags
          in: query
        - description: Return only payables from a given origin ['einvoice', 'upload', 'email']
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/PayableOriginEnum'
          name: origin
          in: query
        - description: Return only payables with or without attachments (files)
          required: false
          schema:
            type: boolean
          name: has_file
          in: query
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayablePaginationResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "406":
          description: Not Acceptable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - Payables
      summary: Create a payable
      description: |-
        Add a new payable by providing the amount, currency, vendor name, and other details.
        You can provide the base64_encoded contents of the original invoice file in the field `base64_encoded_file`.

        You can use this endpoint to bypass the Monite OCR service and provide the data directly
        (for example, if you already have the data in place).

        A newly created payable has the the `draft` [status](https://docs.monite.com/accounts-payable/payables/index).
      operationId: post_payables
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PayableUploadWithDataSchema'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayableResponseSchema'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payables/analytics:
    get:
      tags:
        - Payables
      summary: Get payables analytics
      description: |-
        Retrieve aggregated statistics for payables, including total amount and count, both overall and by status.

        For more flexible configuration and retrieval of other data types, use `GET /analytics/payables`.
      operationId: get_payables_analytics
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: Return only payables created in Monite after the specified date and time. The value must be in the ISO 8601 format YYYY-MM-DDThh:mm[:ss[.ffffff]][Z|±hh:mm].
          required: false
          schema:
            type: string
            format: date-time
          name: created_at__gt
          in: query
        - description: Return only payables created in Monite before the specified date and time.
          required: false
          schema:
            type: string
            format: date-time
          name: created_at__lt
          in: query
        - description: Return only payables created in Monite on or after the specified date and time.
          required: false
          schema:
            type: string
            format: date-time
          name: created_at__gte
          in: query
        - description: Return only payables created in Monite before or on the specified date and time.
          required: false
          schema:
            type: string
            format: date-time
          name: created_at__lte
          in: query
        - description: |-
            Return only payables that have the specified [status](https://docs.monite.com/accounts-payable/payables/index).

            To query multiple statuses at once, use the `status__in` parameter instead.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/PayableStateEnum'
          name: status
          in: query
        - description: |-
            Return only payables that have the specified [statuses](https://docs.monite.com/accounts-payable/payables/index).

            To specify multiple statuses, repeat this parameter for each value: `status__in=draft&status__in=new`
          required: false
          schema:
            items:
              $ref: '#/components/schemas/PayableStateEnum'
            type: array
          name: status__in
          in: query
        - description: |-
            Return only payables with specified IDs. Valid but nonexistent IDs do not raise errors but produce no results.

            To specify multiple IDs, repeat this parameter for each value: `id__in=<id1>&id__in=<id2>`
          required: false
          schema:
            items:
              type: string
              format: uuid
            type: array
          name: id__in
          in: query
        - description: Return only payables with the exact specified total amount. The amount must be specified in the minor units of currency. For example, $12.5 is represented as 1250.
          required: false
          schema:
            type: integer
          name: total_amount
          in: query
        - description: Return only payables whose total amount (in minor units) exceeds the specified value.
          required: false
          schema:
            type: integer
          name: total_amount__gt
          in: query
        - description: Return only payables whose total amount (in minor units) is less than the specified value.
          required: false
          schema:
            type: integer
          name: total_amount__lt
          in: query
        - description: Return only payables whose total amount (in minor units) is greater than or equal to the specified value.
          required: false
          schema:
            type: integer
          name: total_amount__gte
          in: query
        - description: Return only payables whose total amount (in minor units) is less than or equal to the specified value.
          required: false
          schema:
            type: integer
          name: total_amount__lte
          in: query
        - description: Return only payables with the specified amount.
          required: false
          schema:
            type: integer
          name: amount
          in: query
        - description: Return only payables whose amount (in minor units) exceeds the specified value.
          required: false
          schema:
            type: integer
          name: amount__gt
          in: query
        - description: Return only payables whose amount (in minor units) is less than the specified value.
          required: false
          schema:
            type: integer
          name: amount__lt
          in: query
        - description: Return only payables whose amount (in minor units) is greater than or equal to the specified value.
          required: false
          schema:
            type: integer
          name: amount__gte
          in: query
        - description: Return only payables whose amount (in minor units) is less than or equal to the specified value.
          required: false
          schema:
            type: integer
          name: amount__lte
          in: query
        - description: Return only payables that use the specified currency.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/CurrencyEnum'
          name: currency
          in: query
        - description: |-
            Return only payables received from counterparts with the specified name (exact match, case-sensitive).

            For counterparts of `type = individual`, the full name is formatted as `first_name last_name`.
          required: false
          schema:
            type: string
          name: counterpart_name
          in: query
        - description: Return only payables received from counterparts whose name contains the specified string (case-sensitive).
          required: false
          schema:
            type: string
          name: counterpart_name__contains
          in: query
        - description: Return only payables received from counterparts whose name contains the specified string (case-insensitive).
          required: false
          schema:
            type: string
          name: counterpart_name__icontains
          in: query
        - description: Apply the `icontains` condition to search for the specified text in the `document_id` and `counterpart_name` fields in the payables.
          required: false
          schema:
            type: string
          name: search_text
          in: query
        - description: Return payables that are due on the specified date (YYYY-MM-DD)
          required: false
          schema:
            type: string
            format: date
          name: due_date
          in: query
        - description: Return payables that are due after the specified date (exclusive, YYYY-MM-DD).
          required: false
          schema:
            type: string
            format: date
          name: due_date__gt
          in: query
        - description: Return payables that are due before the specified date (exclusive, YYYY-MM-DD).
          required: false
          schema:
            type: string
            format: date
          name: due_date__lt
          in: query
        - description: Return payables that are due on or after the specified date (YYYY-MM-DD).
          required: false
          schema:
            type: string
            format: date
          name: due_date__gte
          in: query
        - description: Return payables that are due before or on the specified date (YYYY-MM-DD).
          required: false
          schema:
            type: string
            format: date
          name: due_date__lte
          in: query
        - description: Return payables that are issued at the specified date (YYYY-MM-DD)
          required: false
          schema:
            type: string
            format: date
          name: issued_at
          in: query
        - description: Return payables that are issued after the specified date (exclusive, YYYY-MM-DD).
          required: false
          schema:
            type: string
            format: date
          name: issued_at__gt
          in: query
        - description: Return payables that are issued before the specified date (exclusive, YYYY-MM-DD).
          required: false
          schema:
            type: string
            format: date
          name: issued_at__lt
          in: query
        - description: Return payables that are issued on or after the specified date (YYYY-MM-DD).
          required: false
          schema:
            type: string
            format: date
          name: issued_at__gte
          in: query
        - description: Return payables that are issued before or on the specified date (YYYY-MM-DD).
          required: false
          schema:
            type: string
            format: date
          name: issued_at__lte
          in: query
        - description: |-
            Return a payable with the exact specified document number (case-sensitive).

            The `document_id` is the user-facing document number such as INV-00042, not to be confused with Monite resource IDs (`id`).
          required: false
          schema:
            type: string
          name: document_id
          in: query
        - description: Return only payables whose document number (`document_id`) contains the specified string (case-sensitive).
          required: false
          schema:
            type: string
          name: document_id__contains
          in: query
        - description: Return only payables whose document number (`document_id`) contains the specified string (case-insensitive).
          required: false
          schema:
            type: string
          name: document_id__icontains
          in: query
        - description: Return only payables created in Monite by the entity user with the specified ID.
          required: false
          schema:
            type: string
            format: uuid
          name: was_created_by_user_id
          in: query
        - description: |-
            Return only payables received from the counterpart with the specified ID.

            Counterparts that have been deleted but have associated payables will still return results here because the payables contain a frozen copy of the counterpart data.

            If the specified counterpart ID does not exist and never existed, no results are returned.
          required: false
          schema:
            type: string
            format: uuid
          name: counterpart_id
          in: query
        - description: Return only payables coming from the specified source.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/SourceOfPayableDataEnum'
          name: source_of_payable_data
          in: query
        - description: Return only payables with specific OCR statuses.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/OcrStatusEnum'
          name: ocr_status
          in: query
        - description: Search for a payable by the identifier of the line item associated with it.
          required: false
          schema:
            type: string
            format: uuid
          name: line_item_id
          in: query
        - description: Search for a payable by the identifier of the purchase order associated with it.
          required: false
          schema:
            type: string
            format: uuid
          name: purchase_order_id
          in: query
        - description: |-
            Return only payables assigned to the project with the specified ID.

            Valid but nonexistent project IDs do not raise errors but return no results.
          required: false
          schema:
            type: string
            format: uuid
          name: project_id
          in: query
        - description: Return only payables whose `project_id` include at least one of the project_id with the specified IDs. Valid but nonexistent project IDs do not raise errors but produce no results.
          required: false
          schema:
            items:
              type: string
              format: uuid
            type: array
          name: project_id__in
          in: query
        - description: Return only payables whose `tags` include at least one of the tags with the specified IDs. Valid but nonexistent tag IDs do not raise errors but produce no results.
          required: false
          schema:
            items:
              type: string
              format: uuid
            type: array
          name: tag_ids
          in: query
        - description: Return only payables whose `tags` do not include any of the tags with the specified IDs. Valid but nonexistent tag IDs do not raise errors but produce the results.
          required: false
          schema:
            items:
              type: string
              format: uuid
            type: array
          name: tag_ids__not_in
          in: query
        - description: Filter objects based on whether they have tags. If true, only objects with tags are returned. If false, only objects without tags are returned.
          required: false
          schema:
            type: boolean
          name: has_tags
          in: query
        - description: Return only payables from a given origin ['einvoice', 'upload', 'email']
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/PayableOriginEnum'
          name: origin
          in: query
        - description: Return only payables with or without attachments (files)
          required: false
          schema:
            type: boolean
          name: has_file
          in: query
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayableAggregatedDataResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      deprecated: true
      security:
        - HTTPBearer: []
  /payables/upload_from_file:
    post:
      tags:
        - Payables
      summary: Upload a payable from a file
      description: Upload an incoming invoice (payable) in PDF, PNG, or JPEG format and scan its contents. The maximum file size is 20MB.
      operationId: post_payables_upload_from_file
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PayableUploadFile'
        required: true
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayableResponseSchema'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "409":
          description: |-
            Error uploading the file. You can check the upload
                [limitations in the documentation](https://docs.monite.com/accounts-payable/payables/collect#about-monite-ocr).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payables/validations:
    get:
      tags:
        - Payables
      summary: Get payables validations
      description: Get payable validations.
      operationId: get_payables_validations
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayableValidationsResource'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    put:
      tags:
        - Payables
      summary: Update payables validations
      description: Update payable validations.
      operationId: put_payables_validations
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PayableValidationsUpdateRequest'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayableValidationsResource'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payables/validations/reset:
    post:
      tags:
        - Payables
      summary: Reset payables validations
      description: Reset payable validations to default ones.
      operationId: post_payables_validations_reset
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayableValidationsResource'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payables/variables:
    get:
      tags:
        - Payables
      summary: Get the available variables for payable email templates
      description: Returns a list of placeholders that can be used to personalize email templates  related to payables. These include payables attributes such as `currency`,  `customer_name`, `document_id`, `due_date`,  `invoice_id`, `total_amount`, and `uploaded_username`.
      operationId: get_payables_variables
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayableTemplatesVariablesObjectList'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payables/{payable_id}:
    get:
      tags:
        - Payables
      summary: Get a payable by ID
      description: Retrieves information about a specific payable with the given ID.
      operationId: get_payables_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: payable_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayableResponseSchema'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: A payable with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "409":
          description: 'Possible responses: `Action for {object_type} at permissions not found: {action}`, `Object type at permissions not found: {object_type}`, `Action {action} for {object_type} not allowed`, `Payable couldn''t be updated due to current state`, `The file cannot be attached because another file is already attached. Please note that only one file attachment is allowed.`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    patch:
      tags:
        - Payables
      summary: Update a payable
      description: Updates the information about a specific payable.
      operationId: patch_payables_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: payable_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PayableUpdateSchema'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayableResponseSchema'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: A payable with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "409":
          description: 'Possible responses: `Action for {object_type} at permissions not found: {action}`, `Object type at permissions not found: {object_type}`, `Action {action} for {object_type} not allowed`, `Payable couldn''t be updated due to current state`, `The file cannot be attached because another file is already attached. Please note that only one file attachment is allowed.`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    delete:
      tags:
        - Payables
      summary: Delete a payable
      description: Deletes a specific payable.
      operationId: delete_payables_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: payable_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "204":
          description: Successful Response
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: A payable with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payables/{payable_id}/approve_payment_operation:
    post:
      tags:
        - Payables
      summary: Approve a payable for payment
      description: Confirms that the payable is ready to be paid.
      operationId: post_payables_id_approve_payment_operation
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: payable_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayableResponseSchema'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: A payable with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "409":
          description: 'Possible responses: `Action for {object_type} at permissions not found: {action}`, `Object type at permissions not found: {object_type}`, `Action {action} for {object_type} not allowed`, `Payable couldn''t be updated due to current state`, `The file cannot be attached because another file is already attached. Please note that only one file attachment is allowed.`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payables/{payable_id}/attach_file:
    post:
      tags:
        - Payables
      summary: Attach a file to a payable
      description: Attach file to payable without existing attachment.
      operationId: post_payables_id_attach_file
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: payable_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PayableAttachFile'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayableResponseSchema'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: A payable with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "409":
          description: 'Possible responses: `Action for {object_type} at permissions not found: {action}`, `Object type at permissions not found: {object_type}`, `Action {action} for {object_type} not allowed`, `Payable couldn''t be updated due to current state`, `The file cannot be attached because another file is already attached. Please note that only one file attachment is allowed.`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payables/{payable_id}/cancel:
    post:
      tags:
        - Payables
      summary: Cancel a payable
      description: Cancels the payable that was not confirmed during the review.
      operationId: post_payables_id_cancel
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: payable_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayableResponseSchema'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: A payable with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "409":
          description: 'Possible responses: `Action for {object_type} at permissions not found: {action}`, `Object type at permissions not found: {object_type}`, `Action {action} for {object_type} not allowed`, `Payable couldn''t be updated due to current state`, `The file cannot be attached because another file is already attached. Please note that only one file attachment is allowed.`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payables/{payable_id}/cancel_ocr:
    post:
      tags:
        - Payables
      summary: Cancel OCR of a payable
      description: Request to cancel the OCR processing of the specified payable.
      operationId: post_payables_id_cancel_ocr
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: payable_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayableResponseSchema'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: A payable with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "409":
          description: 'Possible responses: `Action for {object_type} at permissions not found: {action}`, `Object type at permissions not found: {object_type}`, `Action {action} for {object_type} not allowed`, `Payable couldn''t be updated due to current state`, `The file cannot be attached because another file is already attached. Please note that only one file attachment is allowed.`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payables/{payable_id}/history:
    get:
      tags:
        - Payables
      summary: View history of a payable
      operationId: get_payables_id_history
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: payable_id
          in: path
          description: The unique identifier of the payable whose history you want to retrieve.
        - description: Sort order (ascending by default). Typically used together with the `sort` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/OrderEnum'
            default: asc
          name: order
          in: query
        - description: The number of items (0 .. 100) to return in a single page of the response. The response may contain fewer items if it is the last or only page.
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            default: 100
          name: limit
          in: query
        - description: |-
            A pagination token obtained from a previous call to this endpoint. Use it to get the next or previous page of results for your initial query. If `pagination_token` is specified, all other query parameters are ignored and inferred from the initial query.

            If not specified, the first page of results will be returned.
          required: false
          schema:
            type: string
          name: pagination_token
          in: query
        - description: The field to sort the results by. Typically used together with the `order` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/PayableHistoryCursorFields'
          name: sort
          in: query
        - description: Return only the specified event types
          required: false
          schema:
            items:
              $ref: '#/components/schemas/PayableHistoryEventTypeEnum'
            type: array
          name: event_type__in
          in: query
        - description: |-
            Return only events caused by the entity users with the specified IDs. To specify multiple user IDs, repeat this parameter for each ID:
            `entity_user_id__in=<user1>&entity_user_id__in=<user2>`
          required: false
          schema:
            items:
              type: string
              format: uuid
            type: array
          name: entity_user_id__in
          in: query
        - description: Return only events that occurred after the specified date and time. The value must be in the ISO 8601 format `YYYY-MM-DDThh:mm[:ss[.ffffff]][Z|±hh:mm]`.
          required: false
          schema:
            type: string
            format: date-time
          name: timestamp__gt
          in: query
        - description: Return only events that occurred before the specified date and time.
          required: false
          schema:
            type: string
            format: date-time
          name: timestamp__lt
          in: query
        - description: Return only events that occurred on or after the specified date and time.
          required: false
          schema:
            type: string
            format: date-time
          name: timestamp__gte
          in: query
        - description: Return only events that occurred before or on the specified date and time.
          required: false
          schema:
            type: string
            format: date-time
          name: timestamp__lte
          in: query
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayableHistoryPaginationResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: A payable with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
      description: Returns a chronological list of events related to the specified payable.  This includes changes in status, updates to data, comments, and actions taken  by users or automation rules.
  /payables/{payable_id}/line_items:
    get:
      tags:
        - Payable line items
      summary: Get the line items of a payable
      description: |-
        Get a list of all line items related to a specific payable.
        Related guide: [List all payable line items](https://docs.monite.com/accounts-payable/payables/line-items#list-all-line-items-of-a-payable)

        See also:

        [Manage line items](https://docs.monite.com/accounts-payable/payables/line-items)

        [Collect payables](https://docs.monite.com/accounts-payable/payables/collect)
      operationId: get_payables_id_line_items
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: payable_id
          in: path
        - description: Sort order (ascending by default). Typically used together with the `sort` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/OrderEnum'
            default: asc
          name: order
          in: query
        - description: The number of items (0 .. 100) to return in a single page of the response. The response may contain fewer items if it is the last or only page.
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            default: 100
          name: limit
          in: query
        - description: |-
            A pagination token obtained from a previous call to this endpoint. Use it to get the next or previous page of results for your initial query. If `pagination_token` is specified, all other query parameters are ignored and inferred from the initial query.

            If not specified, the first page of results will be returned.
          required: false
          schema:
            type: string
          name: pagination_token
          in: query
        - description: The field to sort the results by. Typically used together with the `order` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/LineItemCursorFields'
          name: sort
          in: query
        - required: false
          schema:
            type: string
            format: uuid
          name: was_created_by_user_id
          in: query
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LineItemPaginationResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: A payable with the specified ID was not found.
        "406":
          description: Not Acceptable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - Payable line items
      summary: Add a line item to a payable
      description: |-
        Add a new line item to a specific payable.

        The `subtotal` and `total` fields of line items are automatically calculated based on the `unit_price`,
         `quantity`, and `tax` fields, therefore, are read-only and appear only in the response schema. The field
          `ledger_account_id` is required **only** for account integration, otherwise, it is optional.

        Related guide: [Add line items to a payable](https://docs.monite.com/accounts-payable/payables/line-items#add-line-items-to-a-payable)

        See also:

        [Manage line items](https://docs.monite.com/accounts-payable/payables/line-items)

        [Collect payables](https://docs.monite.com/accounts-payable/payables/collect)
      operationId: post_payables_id_line_items
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: payable_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LineItemRequest'
        required: true
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LineItemResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: A payable with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "406":
          description: Not Acceptable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    put:
      tags:
        - Payable line items
      summary: Replaces the lines items in a payable
      description: |-
        Replaces the information of all line items of a specific payable.

        Related guide: [Replace all line items](https://docs.monite.com/accounts-payable/payables/line-items#replace-all-line-items)

        See also:

        [Manage line items](https://docs.monite.com/accounts-payable/payables/line-items)

        [Collect payables](https://docs.monite.com/accounts-payable/payables/collect)
      operationId: put_payables_id_line_items
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: payable_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LineItemsReplaceRequest'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LineItemsReplaceResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: A payable with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "406":
          description: Not Acceptable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payables/{payable_id}/line_items/{line_item_id}:
    get:
      tags:
        - Payable line items
      summary: Get a single line item of a payable
      description: |-
        Get information about a specific line item with a given ID.

        Related guide: [Retrieve a line item](https://docs.monite.com/accounts-payable/payables/line-items#retrieve-a-line-item)

        See also:

        [Manage line items](https://docs.monite.com/accounts-payable/payables/line-items)

        [Collect payables](https://docs.monite.com/accounts-payable/payables/collect)
      operationId: get_payables_id_line_items_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: line_item_id
          in: path
        - required: true
          schema:
            type: string
            format: uuid
          name: payable_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LineItemResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: A payable or line item with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "406":
          description: Not Acceptable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    patch:
      tags:
        - Payable line items
      summary: Update a line item in a payable
      description: |-
        Edits the information of a specific line item.

        Related guide: [Update a line item](https://docs.monite.com/accounts-payable/payables/line-items#update-a-line-item)

        See also:

        [Manage line items](https://docs.monite.com/accounts-payable/payables/line-items)

        [Collect payables](https://docs.monite.com/accounts-payable/payables/collect)
      operationId: patch_payables_id_line_items_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: line_item_id
          in: path
        - required: true
          schema:
            type: string
            format: uuid
          name: payable_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LineItemRequest'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LineItemResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: A payable or line item with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "406":
          description: Not Acceptable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    delete:
      tags:
        - Payable line items
      summary: Delete a line item from a payable
      description: |-
        Delete the line item with the given ID.

        Related guide: [Remove a line item](https://docs.monite.com/accounts-payable/payables/line-items#remove-a-line-item)

        See also:

        [Manage line items](https://docs.monite.com/accounts-payable/payables/line-items)

        [Collect payables](https://docs.monite.com/accounts-payable/payables/collect)
      operationId: delete_payables_id_line_items_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: line_item_id
          in: path
        - required: true
          schema:
            type: string
            format: uuid
          name: payable_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "204":
          description: Successful Response
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: A payable or line item with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "406":
          description: Not Acceptable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payables/{payable_id}/mark_as_paid:
    post:
      tags:
        - Payables
      summary: Mark a payable as paid
      description: |-
        Mark a payable as paid.

        Payables can be paid using the payment channels offered by Monite or through external payment channels. In the latter
         case, the invoice is not automatically marked as paid in the system and needs to be converted to the paid status
         manually.

        Optionally, it is possible to pass the `comment` field in the request body, to describe how and when the invoice was
        paid.

        Notes:
        - To use this endpoint with an entity user token, this entity user must have a role that includes the `pay` permission
        for payables.
        - The `amount_to_pay` field is automatically calculated based on the `amount_due` less the percentage described
        in the `payment_terms.discount` value.

        Related guide: [Mark a payable as paid](https://docs.monite.com/accounts-payable/approvals/manual-transition#mark-as-paid)

        See also:

        [Payables lifecycle](https://docs.monite.com/accounts-payable/payables/index)

        [Payables status transitions](https://docs.monite.com/accounts-payable/payables/collect#suggested-payment-date)
      operationId: post_payables_id_mark_as_paid
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: payable_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommentPayload'
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayableResponseSchema'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: A payable with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "409":
          description: 'Possible responses: `Action for {object_type} at permissions not found: {action}`, `Object type at permissions not found: {object_type}`, `Action {action} for {object_type} not allowed`, `Payable couldn''t be updated due to current state`, `The file cannot be attached because another file is already attached. Please note that only one file attachment is allowed.`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payables/{payable_id}/mark_as_partially_paid:
    post:
      tags:
        - Payables
      summary: Mark a payable as partially paid
      description: |-
        Mark a payable as partially paid.

        If the payable is partially paid, its status is moved to `partially_paid`. The value of the `amount_paid` field must be
         the sum of all payments made, not only the last one.

        Notes:
        - This endpoint can be used for payables in the `waiting_to_be_paid` status.
        - The `amount_paid` must be greater than 0 and less than the total payable amount specified by the `amount` field.
        - You can use this endpoint multiple times for the same payable to reflect multiple partial payments, always setting the
         sum of all payments made.
        - To use this endpoint with an entity user token, this entity user must have a role that includes the `pay`
        permission for payables.
        - The `amount_to_pay` field is automatically calculated based on the `amount_due` less the percentage described
        in the `payment_terms.discount` value.

        Related guide: [Mark a payable as partially paid](https://docs.monite.com/accounts-payable/approvals/manual-transition#mark-as-partially-paid)

        See also:

        [Payables lifecycle](https://docs.monite.com/accounts-payable/payables/index)

        [Payables status transitions](https://docs.monite.com/accounts-payable/payables/collect#suggested-payment-date)

        [Mark a payable as paid](https://docs.monite.com/accounts-payable/approvals/manual-transition#mark-as-paid)
      operationId: post_payables_id_mark_as_partially_paid
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: payable_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PartiallyPaidPayload'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayableResponseSchema'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: A payable with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "409":
          description: 'Possible responses: `Action for {object_type} at permissions not found: {action}`, `Object type at permissions not found: {object_type}`, `Action {action} for {object_type} not allowed`, `Payable couldn''t be updated due to current state`, `The file cannot be attached because another file is already attached. Please note that only one file attachment is allowed.`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payables/{payable_id}/reject:
    post:
      tags:
        - Payables
      summary: Reject a payable
      description: Declines the payable when an approver finds any mismatch or discrepancies.
      operationId: post_payables_id_reject
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: payable_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayableResponseSchema'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: A payable with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "409":
          description: 'Possible responses: `Action for {object_type} at permissions not found: {action}`, `Object type at permissions not found: {object_type}`, `Action {action} for {object_type} not allowed`, `Payable couldn''t be updated due to current state`, `The file cannot be attached because another file is already attached. Please note that only one file attachment is allowed.`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payables/{payable_id}/reopen:
    post:
      tags:
        - Payables
      summary: Reopen a payable
      description: Moves payables in the `rejected` or `waiting_to_be_paid` statuses back to `new`, allowing further actions such as editing, approval, or payment.
      operationId: post_payables_id_reopen
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: payable_id
          in: path
          description: The unique identifier of the payable you want to reopen.
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayableResponseSchema'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: A payable with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "409":
          description: 'Possible responses: `Action for {object_type} at permissions not found: {action}`, `Object type at permissions not found: {object_type}`, `Action {action} for {object_type} not allowed`, `Payable couldn''t be updated due to current state`, `The file cannot be attached because another file is already attached. Please note that only one file attachment is allowed.`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payables/{payable_id}/submit_for_approval:
    post:
      tags:
        - Payables
      summary: Submit a payable for approval
      description: Starts the approval process once the uploaded payable is validated.
      operationId: post_payables_id_submit_for_approval
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: payable_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayableResponseSchema'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: A payable with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "409":
          description: 'Possible responses: `Action for {object_type} at permissions not found: {action}`, `Object type at permissions not found: {object_type}`, `Action {action} for {object_type} not allowed`, `Payable couldn''t be updated due to current state`, `The file cannot be attached because another file is already attached. Please note that only one file attachment is allowed.`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payables/{payable_id}/suggestions:
    get:
      tags:
        - Payables
      summary: Get suggestions
      description: |-
        Retrieves the most likely matching counterpart for a given payable, based on an AI-powered analysis of the payable's data.

        When a user uploads a payable, Monite automatically compares key fields—such as `name`, `address`, `VAT ID`, and bank `account`—against existing counterparts. If a sufficiently similar match is found, this endpoint will return a suggested counterpart.

        If no suitable match is identified, the response will be empty.

        **Note:** Suggestions are automatically generated during payable upload. This endpoint simply retrieves the existing suggestion for a specific payable.
      operationId: get_payables_id_suggestions
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: payable_id
          in: path
          description: The unique identifier of the payable you want to find matching suggestions for.
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuggestedResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: A payable with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    delete:
      tags:
        - Payables
      summary: Delete suggestions
      description: Deletes the automatically generated counterpart suggestion for a specific payable.
      operationId: delete_payables_id_suggestions
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: payable_id
          in: path
          description: The unique identifier of the payable whose suggestions you want to delete.
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema: {}
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: A payable with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payables/{payable_id}/validate:
    post:
      tags:
        - Payables
      summary: Validate a payable
      description: Check the invoice for compliance with the requirements for movement from draft to new status.
      operationId: post_payables_id_validate
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: payable_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayableValidationResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "409":
          description: 'Possible responses: `Action for {object_type} at permissions not found: {action}`, `Object type at permissions not found: {object_type}`, `Action {action} for {object_type} not allowed`, `Payable couldn''t be updated due to current state`, `The file cannot be attached because another file is already attached. Please note that only one file attachment is allowed.`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payment_intents:
    get:
      tags:
        - Payment intents
      summary: Get payment intents
      operationId: get_payment_intents
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: Sort order (ascending by default). Typically used together with the `sort` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/OrderEnum'
            default: asc
          name: order
          in: query
        - description: The number of items (0 .. 100) to return in a single page of the response. The response may contain fewer items if it is the last or only page.
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            default: 100
          name: limit
          in: query
        - description: |-
            A pagination token obtained from a previous call to this endpoint. Use it to get the next or previous page of results for your initial query. If `pagination_token` is specified, all other query parameters are ignored and inferred from the initial query.

            If not specified, the first page of results will be returned.
          required: false
          schema:
            type: string
          name: pagination_token
          in: query
        - description: The field to sort the results by. Typically used together with the `order` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/PaymentIntentCursorFields'
          name: sort
          in: query
        - description: ID of a payable or receivable invoice. If provided, returns only payment intents associated with the specified invoice.
          required: false
          schema:
            type: string
            format: uuid
          name: object_id
          in: query
        - description: A list of payable IDs and/or receivable IDs. If provided, returns only payment intents associated with the specified payable and receivable invoices. Valid but nonexistent IDs do not raise errors but produce no results.
          required: false
          schema:
            items:
              type: string
              format: uuid
            type: array
          name: object_id__in
          in: query
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentIntentsListResponse'
        "400":
          description: |-
            Possible reasons:

             * Missing `X-Monite-Version` request header.
             * An entity with the specified ID was not found.
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: |-
            Possible reasons:

              * `X-Monite-Entity-Id` is missing or not a valid UUID.
              * `payment_intent_id` is not a valid UUID.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
      description: |-
        Returns a list of all [payment intents](https://docs.monite.com/payments/payment-intents). Monite creates payment intents automatically for each [payment link](https://docs.monite.com/payments/payment-links). Payment intents let you track the status of payments made via payment links.

        To find a payment intent for a specific payable or receivable invoice, provide the `object_id` parameter. Alternatively, you can use the `object_id__in` parameter to find payment intents for all invoices from the list.

        If no payment intents matching the search criteria were found, the response contains an empty `data` array.
  /payment_intents/{payment_intent_id}:
    get:
      tags:
        - Payment intents
      summary: Get a payment intent by ID
      operationId: get_payment_intents_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: payment_intent_id
          in: path
          description: ID of an existing payment intent that you want to retrieve.
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentIntentResponse'
        "400":
          description: |-
            Possible reasons:

             * Missing `X-Monite-Version` request header.
             * An entity with the specified ID was not found.
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "404":
          description: A payment intent with the specified ID was not found.
        "422":
          description: |-
            Possible reasons:

              * `X-Monite-Entity-Id` is missing or not a valid UUID.
              * `payment_intent_id` is not a valid UUID.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
      description: |-
        Returns the details of a [payment intent](https://docs.monite.com/payments/payment-intents) with the specified ID.

        Monite creates payment intents automatically for each [payment link](https://docs.monite.com/payments/payment-links). Payment intents let you track the status of payments made via payment links.
    patch:
      tags:
        - Payment intents
      summary: Update a payment intent's amount
      operationId: patch_payment_intents_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: payment_intent_id
          in: path
          description: ID of an existing payment intent you want to update.
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePaymentIntentPayload'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentIntentResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "404":
          description: A payment intent with the specified ID was not found.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payment_intents/{payment_intent_id}/history:
    get:
      tags:
        - Payment intents
      summary: Get a payment intent's history
      operationId: get_payment_intents_id_history
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: payment_intent_id
          in: path
          description: ID of a payment intent to get the history for.
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentIntentHistoryResponse'
        "400":
          description: |-
            Possible reasons:

             * Missing `X-Monite-Version` request header.
             * An entity with the specified ID was not found.
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "404":
          description: A payment intent with the specified ID was not found.
        "422":
          description: |-
            Possible reasons:

              * `X-Monite-Entity-Id` is missing or not a valid UUID.
              * `payment_intent_id` is not a valid UUID.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
      description: The history of a payment intent contains its [status changes](https://docs.monite.com/payments/payment-intents#lifecycle) and the date and time of each status change.
  /payment_links:
    post:
      tags:
        - Payment links
      summary: Create a payment link
      operationId: post_payment_links
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePaymentLinkRequest'
            examples:
              for_payable:
                summary: For a payable (bill) - EU and UK only
                value:
                  object:
                    type: payable
                    id: 5940eb3a-de95-4e7e-b5e7-8a4ad0ea341b
                  recipient:
                    type: counterpart
                    id: 6296af34-6feb-43c1-b567-83e3bf45050c
                  payment_methods:
                    - sepa_credit
                  return_url: https://example.com/where-to-redirect-after-payment
              for_external_payable:
                summary: For an external payable (bill) - EU and UK only
                value:
                  amount: 12500
                  currency: EUR
                  payment_reference: INV/2025/0042
                  invoice:
                    issue_date: "2025-07-01"
                    due_date: "2025-07-31"
                    file:
                      name: invoice.pdf
                      mimetype: application/pdf
                      url: https://example.com/path/to/invoice.pdf
                  recipient:
                    type: counterpart
                    id: 6296af34-6feb-43c1-b567-83e3bf45050c
                  payment_methods:
                    - sepa_credit
                  return_url: https://example.com/where-to-redirect-after-payment
                  expires_at: "2025-08-30T23:59:59Z"
              for_receivable_eu:
                summary: For a receivable invoice (EU version)
                value:
                  object:
                    type: receivable
                    id: 419f4b6a-0e87-4b07-87fc-5047fe3328c8
                  recipient:
                    type: entity
                    id: 274b995b-1906-4d8a-b7fe-e8d822d731b0
                  payment_methods:
                    - card
                    - eps
                    - ideal
                    - sepa_credit
                    - sepa_debit
                  return_url: https://example.com/where-to-redirect-after-payment
              for_receivable_us:
                summary: For a receivable invoice (US version)
                value:
                  object:
                    type: receivable
                    id: 419f4b6a-0e87-4b07-87fc-5047fe3328c8
                  recipient:
                    type: entity
                    id: 274b995b-1906-4d8a-b7fe-e8d822d731b0
                  payment_methods:
                    - card
                    - us_ach
                    - affirm
                    - klarna
                  return_url: https://example.com/where-to-redirect-after-payment
              for_external_receivable:
                summary: For an external receivable invoice
                value:
                  amount: 12500
                  currency: EUR
                  payment_reference: INV/2025/0042
                  invoice:
                    issue_date: "2025-07-01"
                    due_date: "2025-07-31"
                    file:
                      name: invoice.pdf
                      mimetype: application/pdf
                      url: https://example.com/path/to/invoice.pdf
                  recipient:
                    type: entity
                    id: 274b995b-1906-4d8a-b7fe-e8d822d731b0
                  payment_methods:
                    - card
                    - eps
                    - ideal
                    - sepa_credit
                    - sepa_debit
                  return_url: https://example.com/where-to-redirect-after-payment
                  expires_at: "2025-08-30T23:59:59Z"
        required: true
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicPaymentLinkResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
      description: Create a new [payment link](https://docs.monite.com/payments/payment-links) for an accounts payble invoice (to be paid by the entity) or an accounts receivable invoice (to be sent to the counterpart).
  /payment_links/{payment_link_id}:
    get:
      tags:
        - Payment links
      summary: Get payment link by ID
      operationId: get_payment_links_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: payment_link_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicPaymentLinkResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payment_links/{payment_link_id}/expire:
    post:
      tags:
        - Payment links
      summary: Expire a payment link
      operationId: post_payment_links_id_expire
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: payment_link_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicPaymentLinkResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payment_records:
    get:
      tags:
        - Payment records
      summary: Get payment records
      operationId: get_payment_records
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: Sort order (ascending by default). Typically used together with the `sort` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/OrderEnum'
            default: asc
          name: order
          in: query
        - description: Max is 100
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            default: 100
          name: limit
          in: query
        - description: A token, obtained from previous page. Prior over other filters
          required: false
          schema:
            type: string
          name: pagination_token
          in: query
        - description: The field to sort the results by. Typically used together with the `order` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/PaymentRecordCursorFields'
          name: sort
          in: query
        - description: Identifies whether payment is from our rails or external system
          required: false
          schema:
            type: boolean
          name: is_external
          in: query
        - description: ID of the object, that is connected to payment
          required: false
          schema:
            type: string
            format: uuid
          name: object_id
          in: query
        - description: List of IDs of the objects, that are connected to payments
          required: false
          schema:
            items:
              type: string
              format: uuid
            type: array
          name: object_id__in
          in: query
        - description: Type of an object, which is connected with payment
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/ObjectTypeEnum'
          name: object_type
          in: query
        - description: Created after this datetime (exclusive)
          required: false
          schema:
            type: string
            format: date-time
          name: created_at__gt
          in: query
        - description: Created before this datetime (exclusive)
          required: false
          schema:
            type: string
            format: date-time
          name: created_at__lt
          in: query
        - description: Updated after this datetime (exclusive)
          required: false
          schema:
            type: string
            format: date-time
          name: updated_at__gt
          in: query
        - description: Updated before this datetime (exclusive)
          required: false
          schema:
            type: string
            format: date-time
          name: updated_at__lt
          in: query
        - description: Paid after this datetime (exclusive)
          required: false
          schema:
            type: string
            format: date-time
          name: paid_at__gt
          in: query
        - description: Paid before this datetime (exclusive)
          required: false
          schema:
            type: string
            format: date-time
          name: paid_at__lt
          in: query
        - description: Optional date of the upcoming payment (equality)
          required: false
          schema:
            type: string
            format: date
          name: planned_payment_date
          in: query
        - description: Planned after this date (exclusive)
          required: false
          schema:
            type: string
            format: date
          name: planned_payment_date__gt
          in: query
        - description: Planned before this date (exclusive)
          required: false
          schema:
            type: string
            format: date
          name: planned_payment_date__lt
          in: query
        - description: Planned at or after this date (inclusive)
          required: false
          schema:
            type: string
            format: date
          name: planned_payment_date__gte
          in: query
        - description: Planned at or before this date (inclusive)
          required: false
          schema:
            type: string
            format: date
          name: planned_payment_date__lte
          in: query
        - description: One of the payment record statuses
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/PaymentRecordStatusEnum'
          name: status
          in: query
        - description: Payment intent status as a raw string
          required: false
          schema:
            type: string
          name: payment_intent_status
          in: query
        - description: Payment method used for the transaction
          required: false
          schema:
            type: string
          name: payment_method
          in: query
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentRecordResponseList'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - Payment records
      summary: Create a payment record
      operationId: post_payment_records
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentRecordRequest'
        required: true
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentRecordResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payment_records/{payment_record_id}:
    get:
      tags:
        - Payment records
      summary: Get a payment record
      operationId: get_payment_records_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: payment_record_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentRecordResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    patch:
      tags:
        - Payment records
      summary: Update a payment record
      operationId: patch_payment_records_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: payment_record_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentRecordUpdateRequest'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentRecordResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payment_records/{payment_record_id}/cancel:
    post:
      tags:
        - Payment records
      summary: Cancel a payment record
      operationId: post_payment_records_id_cancel
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: payment_record_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentRecordStatusUpdateRequest'
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentRecordResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payment_records/{payment_record_id}/mark_as_succeeded:
    post:
      tags:
        - Payment records
      summary: Mark a payment record as succeeded
      operationId: post_payment_records_id_mark_as_succeeded
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: payment_record_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentRecordMarkAsSucceededRequest'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentRecordResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payment_records/{payment_record_id}/start_processing:
    post:
      tags:
        - Payment records
      summary: Start processing a payment record
      operationId: post_payment_records_id_start_processing
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: payment_record_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentRecordStatusUpdateRequest'
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentRecordResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payment_reminders:
    get:
      tags:
        - Payment reminders
      summary: Get payment reminder configurations
      operationId: get_payment_reminders
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAllPaymentReminders'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - Payment reminders
      summary: Create a payment reminder configuration
      operationId: post_payment_reminders
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentReminder'
        required: true
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentReminderResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payment_reminders/{payment_reminder_id}:
    get:
      tags:
        - Payment reminders
      summary: Get a payment reminder configuration by ID
      operationId: get_payment_reminders_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: payment_reminder_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentReminderResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    patch:
      tags:
        - Payment reminders
      summary: Update a payment reminder configuration
      operationId: patch_payment_reminders_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: payment_reminder_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentReminderUpdateRequest'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentReminderResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    delete:
      tags:
        - Payment reminders
      summary: Delete a payment reminder configuration
      operationId: delete_payment_reminders_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: payment_reminder_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "204":
          description: Successful Response
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payment_terms:
    get:
      tags:
        - Payment terms
      summary: Get payment terms
      operationId: get_payment_terms
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentTermsListResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - Payment terms
      summary: Create a payment term
      operationId: post_payment_terms
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentTermsCreatePayload'
            examples:
              net_30:
                summary: Net 30
                value:
                  name: Net 30
                  description: Payment is due within 30 days after the invoice issue date
                  term_final:
                    number_of_days: 30
              one_early_discount:
                summary: 1/15, Net 30
                value:
                  name: 1/15, Net 30
                  description: The invoice must be paid within 30 days. 1% discount if paid within the first 15 days.
                  term_1:
                    number_of_days: 15
                    discount: 100
                  term_final:
                    number_of_days: 30
              two_early_discounts:
                summary: 2/10, 1/20, Net 30
                value:
                  name: 2/10, 1/20, Net 30
                  description: The invoice must be paid within 30 days. 2% discount if paid within the first 10 days, 1% discount if paid within 20 days.
                  term_1:
                    number_of_days: 10
                    discount: 200
                  term_2:
                    number_of_days: 20
                    discount: 100
                  term_final:
                    number_of_days: 30
        required: true
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentTermsResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /payment_terms/{payment_terms_id}:
    get:
      tags:
        - Payment terms
      summary: Get a payment term by ID
      operationId: get_payment_terms_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: payment_terms_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentTermsResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    patch:
      tags:
        - Payment terms
      summary: Update a payment term
      operationId: patch_payment_terms_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: payment_terms_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentTermsUpdatePayload'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentTermsResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    delete:
      tags:
        - Payment terms
      summary: Delete a payment term
      operationId: delete_payment_terms_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: payment_terms_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "204":
          description: Successful Response
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /persons:
    get:
      tags:
        - Entity persons
      summary: Get all persons
      operationId: get_persons
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: x-monite-entity-id
          in: header
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          description: The ID of the entity that owns the requested resource.
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PersonsResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - Entity persons
      summary: Create a person
      operationId: post_persons
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: x-monite-entity-id
          in: header
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          description: The ID of the entity that owns the requested resource.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PersonRequest'
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PersonResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /persons/{person_id}:
    get:
      tags:
        - Entity persons
      summary: Get a person
      operationId: get_persons_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: person_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: x-monite-entity-id
          in: header
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          description: The ID of the entity that owns the requested resource.
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PersonResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    patch:
      tags:
        - Entity persons
      summary: Update a person
      operationId: patch_persons_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: person_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: x-monite-entity-id
          in: header
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          description: The ID of the entity that owns the requested resource.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OptionalPersonRequest'
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PersonResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    delete:
      tags:
        - Entity persons
      summary: Delete a person
      operationId: delete_persons_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: person_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: x-monite-entity-id
          in: header
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          description: The ID of the entity that owns the requested resource.
      responses:
        "204":
          description: Successful Response
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /persons/{person_id}/documents:
    post:
      tags:
        - Onboarding documents
      summary: Update person onboarding documents
      description: Deprecated. Use `POST /persons/{person_id}/onboarding_documents` instead. Update the onboarding documents of a person.
      operationId: post_persons_id_documents
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: person_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "204":
          description: Successful Response
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      deprecated: true
      security:
        - HTTPBearer: []
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PersonOnboardingDocuments'
  /persons/{person_id}/onboarding_documents:
    post:
      tags:
        - Onboarding documents
      summary: Provide files for person onboarding verification
      description: Provide files for person onboarding verification
      operationId: post_persons_id_onboarding_documents
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: person_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PersonOnboardingDocumentsPayload'
        required: true
      responses:
        "204":
          description: Successful Response
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /products:
    get:
      tags:
        - Products
      summary: Get products
      operationId: get_products
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: Sort order (ascending by default). Typically used together with the `sort` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/OrderEnum'
            default: asc
          name: order
          in: query
        - description: The number of items (0 .. 100) to return in a single page of the response. The response may contain fewer items if it is the last or only page.
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            default: 100
          name: limit
          in: query
        - description: |-
            A pagination token obtained from a previous call to this endpoint. Use it to get the next or previous page of results for your initial query. If `pagination_token` is specified, all other query parameters are ignored and inferred from the initial query.

            If not specified, the first page of results will be returned.
          required: false
          schema:
            type: string
          name: pagination_token
          in: query
        - description: The field to sort the results by. Typically used together with the `order` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/ProductCursorFields'
          name: sort
          in: query
        - required: false
          schema:
            items:
              type: string
              format: uuid
            type: array
          name: id__in
          in: query
        - required: false
          schema:
            type: string
            maxLength: 100
          name: name
          in: query
        - required: false
          schema:
            type: string
            maxLength: 100
          name: name__contains
          in: query
        - required: false
          schema:
            type: string
            maxLength: 100
          name: name__icontains
          in: query
        - required: false
          schema:
            $ref: '#/components/schemas/ProductServiceTypeEnum'
          name: type
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: price
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: price__gt
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: price__lt
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: price__gte
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: price__lte
          in: query
        - required: false
          schema:
            $ref: '#/components/schemas/CurrencyEnum'
          name: currency
          in: query
        - required: false
          schema:
            items:
              $ref: '#/components/schemas/CurrencyEnum'
            type: array
          name: currency__in
          in: query
        - required: false
          schema:
            type: string
            format: uuid
          name: measure_unit_id
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__gt
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__lt
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__gte
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__lte
          in: query
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductServicePaginationResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - Products
      summary: Create a product
      operationId: post_products
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProductServiceRequest'
        required: true
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductServiceResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /products/{product_id}:
    get:
      tags:
        - Products
      summary: Get a product by ID
      operationId: get_products_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: product_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductServiceResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: A product with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    patch:
      tags:
        - Products
      summary: Update a product
      operationId: patch_products_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: product_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProductServiceUpdate'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductServiceResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: A product with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    delete:
      tags:
        - Products
      summary: Delete a product
      operationId: delete_products_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: product_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "204":
          description: Successful Response
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: A product with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /projects:
    get:
      tags:
        - Projects
      summary: Get all projects for entity
      description: Get all projects for an entity
      operationId: get_projects
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: Sort order (ascending by default). Typically used together with the `sort` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/OrderEnum'
            default: asc
          name: order
          in: query
        - description: The number of items (0 .. 100) to return in a single page of the response. The response may contain fewer items if it is the last or only page.
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            default: 100
          name: limit
          in: query
        - description: |-
            A pagination token obtained from a previous call to this endpoint. Use it to get the next or previous page of results for your initial query. If `pagination_token` is specified, all other query parameters are ignored and inferred from the initial query.

            If not specified, the first page of results will be returned.
          required: false
          schema:
            type: string
          name: pagination_token
          in: query
        - description: The field to sort the results by. Typically used together with the `order` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/ProjectCursorFields'
          name: sort
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__gt
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__lt
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__gte
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__lte
          in: query
        - required: false
          schema:
            type: string
            format: date
          name: start_date
          in: query
        - required: false
          schema:
            type: string
            format: date
          name: start_date__gt
          in: query
        - required: false
          schema:
            type: string
            format: date
          name: start_date__lt
          in: query
        - required: false
          schema:
            type: string
            format: date
          name: start_date__gte
          in: query
        - required: false
          schema:
            type: string
            format: date
          name: start_date__lte
          in: query
        - required: false
          schema:
            type: string
            format: date
          name: end_date
          in: query
        - required: false
          schema:
            type: string
            format: date
          name: end_date__gt
          in: query
        - required: false
          schema:
            type: string
            format: date
          name: end_date__lt
          in: query
        - required: false
          schema:
            type: string
            format: date
          name: end_date__gte
          in: query
        - required: false
          schema:
            type: string
            format: date
          name: end_date__lte
          in: query
        - required: false
          schema:
            type: string
          name: name
          in: query
        - required: false
          schema:
            type: string
          name: name__iexact
          in: query
        - required: false
          schema:
            type: string
          name: name__contains
          in: query
        - required: false
          schema:
            type: string
          name: name__icontains
          in: query
        - required: false
          schema:
            type: string
          name: code
          in: query
        - required: false
          schema:
            type: string
            format: uuid
          name: created_by_entity_user_id
          in: query
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectPaginationResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "406":
          description: Not Acceptable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - Projects
      summary: Create a project
      description: Create a new project.
      operationId: post_projects
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectCreateRequest'
        required: true
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectResource'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /projects/{project_id}:
    get:
      tags:
        - Projects
      summary: Get a project by ID
      description: Get a project with the given ID.
      operationId: get_projects_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: project_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectResource'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: A project with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    patch:
      tags:
        - Projects
      summary: Update a project
      description: Update a project.
      operationId: patch_projects_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: project_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectUpdateRequest'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectResource'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: A project with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    delete:
      tags:
        - Projects
      summary: Delete a project
      description: Delete a project.
      operationId: delete_projects_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: project_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "204":
          description: Successful Response
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: A project with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /receipts:
    get:
      tags:
        - Receipts
      summary: Get receipts
      operationId: get_receipts
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: Sort order (ascending by default). Typically used together with the `sort` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/OrderEnum'
            default: asc
          name: order
          in: query
        - description: The number of items (0 .. 100) to return in a single page of the response. The response may contain fewer items if it is the last or only page.
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            default: 100
          name: limit
          in: query
        - description: |-
            A pagination token obtained from a previous call to this endpoint. Use it to get the next or previous page of results for your initial query. If `pagination_token` is specified, all other query parameters are ignored and inferred from the initial query.

            If not specified, the first page of results will be returned.
          required: false
          schema:
            type: string
          name: pagination_token
          in: query
        - description: The field to sort the results by. Typically used together with the `order` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/ReceiptCursorFields'
          name: sort
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__gt
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__lt
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__gte
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__lte
          in: query
        - required: false
          schema:
            items:
              type: string
              format: uuid
            type: array
          name: id__in
          in: query
        - required: false
          schema:
            $ref: '#/components/schemas/CurrencyEnum'
          name: currency
          in: query
        - required: false
          schema:
            type: string
          name: document_id
          in: query
        - required: false
          schema:
            type: string
          name: document_id__contains
          in: query
        - required: false
          schema:
            type: string
          name: document_id__icontains
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: total_amount__gt
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: total_amount__lt
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: total_amount__gte
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: total_amount__lte
          in: query
        - required: false
          schema:
            type: boolean
          name: has_file
          in: query
        - required: false
          schema:
            type: boolean
          name: has_transaction
          in: query
        - required: false
          schema:
            type: string
            format: uuid
          name: transaction_id
          in: query
        - required: false
          schema:
            items:
              type: string
              format: uuid
            type: array
          name: transaction_id__in
          in: query
        - required: false
          schema:
            type: string
          name: merchant_name__icontains
          in: query
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReceiptPaginationResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - Receipts
      summary: Create a receipt
      operationId: post_receipts
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReceiptCreateSchema'
        required: true
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReceiptResponseSchema'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /receipts/upload_from_file:
    post:
      tags:
        - Receipts
      summary: Upload a receipt from a file
      description: Upload an incoming receipt in the PDF, PNG, or JPEG format and scan its contents. The maximum file size is 20 MB.
      operationId: post_receipts_upload_from_file
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ReceiptUploadFile'
        required: true
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReceiptResponseSchema'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "409":
          description: Error uploading the file.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /receipts/{receipt_id}:
    get:
      tags:
        - Receipts
      summary: Get a receipt by ID
      operationId: get_receipts_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: receipt_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReceiptResponseSchema'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    patch:
      tags:
        - Receipts
      summary: Update a receipt
      operationId: patch_receipts_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: receipt_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReceiptUpdateSchema'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReceiptResponseSchema'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    delete:
      tags:
        - Receipts
      summary: Delete a receipt
      operationId: delete_receipts_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: receipt_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "204":
          description: Successful Response
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /receipts/{receipt_id}/attach_file:
    post:
      tags:
        - Receipts
      summary: Attach a file to a receipt
      description: Attach a file to a receipt without an existing attachment.
      operationId: post_receipts_id_attach_file
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: receipt_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ReceiptAttachFile'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReceiptResponseSchema'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "409":
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /receipts/{receipt_id}/line_items:
    get:
      tags:
        - Receipts
      summary: Get all line items of a receipt
      operationId: get_receipts_id_line_items
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: receipt_id
          in: path
        - description: Sort order (ascending by default). Typically used together with the `sort` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/OrderEnum'
            default: asc
          name: order
          in: query
        - description: The number of items (0 .. 100) to return in a single page of the response. The response may contain fewer items if it is the last or only page.
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            default: 100
          name: limit
          in: query
        - description: |-
            A pagination token obtained from a previous call to this endpoint. Use it to get the next or previous page of results for your initial query. If `pagination_token` is specified, all other query parameters are ignored and inferred from the initial query.

            If not specified, the first page of results will be returned.
          required: false
          schema:
            type: string
          name: pagination_token
          in: query
        - description: The field to sort the results by. Typically used together with the `order` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/ReceiptLineItemCursorFields'
          name: sort
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__gt
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__lt
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__gte
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__lte
          in: query
        - required: false
          schema:
            type: string
          name: name
          in: query
        - required: false
          schema:
            type: string
          name: name__iexact
          in: query
        - required: false
          schema:
            type: string
          name: name__contains
          in: query
        - required: false
          schema:
            type: string
          name: name__icontains
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: total__gt
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: total__lt
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: total__gte
          in: query
        - required: false
          schema:
            type: integer
            minimum: 0
          name: total__lte
          in: query
        - required: false
          schema:
            type: string
            format: uuid
          name: created_by_user_id
          in: query
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReceiptLineItemsPaginationResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - Receipts
      summary: Add a new line item to a receipt
      operationId: post_receipts_id_line_items
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: receipt_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReceiptLineItemCreateSchema'
        required: true
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReceiptLineItemResponseSchema'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /receipts/{receipt_id}/line_items/{line_item_id}:
    patch:
      tags:
        - Receipts
      summary: Update a line item of a receipt
      operationId: patch_receipts_id_line_items_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: receipt_id
          in: path
        - required: true
          schema:
            type: string
            format: uuid
          name: line_item_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReceiptLineItemUpdateSchema'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReceiptLineItemResponseSchema'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    delete:
      tags:
        - Receipts
      summary: Delete a line item from a receipt
      operationId: delete_receipts_id_line_items_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: receipt_id
          in: path
        - required: true
          schema:
            type: string
            format: uuid
          name: line_item_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "204":
          description: Successful Response
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /receivables:
    get:
      tags:
        - Receivables
      summary: Get receivables
      description: |-
        Returns a list of [accounts receivable](https://docs.monite.com/accounts-receivable/index) documents - invoices, quotes, and credit notes - of the specified entity.

        Results can be filtered by amount, counterpart, due date, and other criteria. Multiple filters are combined using logical AND unless specified otherwise. If no documents matching the search criteria are found, the endpoint returns a successful response with an empty `data` array.

        This endpoint supports [pagination](https://docs.monite.com/api/concepts/pagination-sorting-filtering) and sorting. By default, results are sorted by the creation date in ascending order (from oldest to newest).

        #### Examples

        ##### Invoices

        * Get all overdue invoices:
            ```
            GET /receivables?type=invoice&status=overdue
            ```

        * Get all invoices created for the counterpart named "Solarwind" (case-insensitive):

            ```
            GET /receivables?type=invoice?counterpart_name__icontains=Solarwind
            ```

        * Get invoices whose total amount starts from 500 EUR:

            ```
            GET /receivables?type=invoice&total_amount__gte=50000
            ```

        * Get invoices that are due for payment in September 2024:

            ```
            GET /receivables?type=invoice&due_date__gte=2024-09-01&due_date__lt=2024-10-01
            ```
            **Note:** This will only return invoices with a set due date. Invoices without due dates are excluded from date range filters.


        * Get invoices without a due date:

            ```
            GET /receivables?type=invoice&has_due_date=false
            ```


        * Get invoices with any due date (excluding those without due dates):

            ```
            GET /receivables?type=invoice&has_due_date=true
            ```


        * Get invoices created on or after September 1, 2024:

            ```
            GET /receivables?type=invoice&created_at__gte=2024-09-01T00:00:00Z
            ```

        * Find an invoice created from a specific quote:

            ```
            GET /receivables?type=invoice?based_on=QUOTE_ID
            ```

        ##### Quotes

        * Get the latest created quote:

            ```
            GET /receivables?type=quote&sort=created_at&order=desc&limit=1
            ```

        * Get the latest issued quote:

            ```
            GET /receivables?type=quote&sort=issue_date&order=desc&limit=1
            ```

        ##### Credit notes

        * Find all credit notes created for a specific invoice:

            ```
            GET /receivables?type=credit_note?based_on=INVOICE_ID
            ```
      operationId: get_receivables
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: Sort order (ascending by default). Typically used together with the `sort` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/OrderEnum'
            default: asc
          name: order
          in: query
        - description: "The number of items (0 .. 250) to return in a single page of the response. Default is 100. The response may contain fewer items if it is the last or only page. \n\nWhen using pagination with a non-default `limit`, you must provide the `limit` value alongside `pagination_token` in all subsequent pagination requests. Unlike other query parameters, `limit` is not inferred from `pagination_token`."
          required: false
          schema:
            type: integer
            maximum: 250
            minimum: 1
            default: 100
          name: limit
          in: query
        - description: |-
            A pagination token obtained from a previous call to this endpoint. Use it to get the next or previous page of results for your initial query. If `pagination_token` is specified, all other query parameters except `limit` are ignored and inferred from the initial query.

            If not specified, the first page of results will be returned.
          required: false
          schema:
            type: string
          name: pagination_token
          in: query
        - description: |-
            Return only receivables with the specified IDs. Valid but nonexistent IDs do not raise errors but produce no results.

            To specify multiple IDs, repeat this parameter for each value:
            `id__in=<id1>&id__in=<id2>`
          required: false
          schema:
            items:
              type: string
              format: uuid
            type: array
          name: id__in
          in: query
        - description: |-
            Return only receivables that have the specified statuses. See the applicable [invoice statuses](https://docs.monite.com/accounts-receivable/invoices/index), [quote statuses](https://docs.monite.com/accounts-receivable/quotes/index), and [credit note statuses](https://docs.monite.com/accounts-receivable/credit-notes#credit-note-lifecycle).

            To specify multiple statuses, repeat this parameter for each value:
            `status__in=draft&status__in=issued`
          required: false
          schema:
            items:
              type: string
              enum:
                - draft
                - issuing
                - issued
                - failed
                - accepted
                - expired
                - declined
                - recurring
                - partially_paid
                - paid
                - overdue
                - uncollectible
                - canceled
            type: array
          name: status__in
          in: query
        - description: |-
            Return only receivables created by the entity users with the specified IDs.To specify multiple user IDs, repeat this parameter for each ID:
            `entity_user_id__in=<user1>&entity_user_id__in=<user2>`

            If the request is authenticated using an entity user token, this user must have the `receivable.read.allowed` (rather than `allowed_for_own`) permission to be able to query receivables created by other users.

            IDs of deleted users will still produce results here if those users had associated receivables. Valid but nonexistent user IDs do not raise errors but produce no results.
          required: false
          schema:
            items:
              type: string
              format: uuid
            type: array
          name: entity_user_id__in
          in: query
        - description: The field to sort the results by. Typically used together with the `order` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/ReceivableCursorFields'
          name: sort
          in: query
        - description: |-
            Return only receivables whose [tags](https://docs.monite.com/common/tags) include at least one of the tags with the specified IDs.

            For example, given receivables with the following tags:
            1. tagA
            2. tagB
            3. tagA, tagB
            4. tagC
            5. tagB, tagC


            `tag_ids__in=<tagA>&tag_ids__in=<tagB>` will return receivables 1, 2, 3, and 5.

            Valid but nonexistent tag IDs do not raise errors but produce no results.
          required: false
          schema:
            items:
              type: string
              format: uuid
            type: array
          name: tag_ids__in
          in: query
        - description: |-
            Return only receivables whose [tags](https://docs.monite.com/common/tags) include all of the tags with the specified IDs and optionally other tags that are not specified.

            For example, given receivables with the following tags:
            1. tagA
            2. tagB
            3. tagA, tagB
            4. tagC
            5. tagA, tagB, tagC


            `tag_ids=<tagA>&tag_ids=<tagB>` will return receivables 3 and 5.
          required: false
          schema:
            items:
              type: string
              format: uuid
            type: array
          name: tag_ids
          in: query
        - description: "Return only receivables whose line items include at least one of the product IDs with the specified IDs. \n\nTo specify multiple product IDs, repeat this parameter for each ID:\n`product_ids__in=<product1>&product_ids__in=<product2>`\n\nFor example, given receivables with the following product IDs:\n1. productA\n2. productB\n3. productA, productB\n4. productC\n5. productB, productC\n\n\n`product_ids__in=<productA>&product_ids__in=<productB>` will return receivables 1, 2, 3, and 5.Valid but nonexistent product IDs do not raise errors but produce no results."
          required: false
          schema:
            items:
              type: string
              format: uuid
            type: array
          name: product_ids__in
          in: query
        - description: "Return only receivables whose line items include all of the product IDs with the specified IDs and optionally other products that are not specified. \n\nTo specify multiple product IDs, repeat this parameter for each ID:\n`product_ids=<product1>&product_ids=<product2>`\n\nFor example, given receivables with the following product IDs:\n1. productA\n2. productB\n3. productA, productB\n4. productC\n5. productA, productB, productC\n\n\n`product_ids=<productA>&product_ids=<productB>` will return receivables 3 and 5.\n\n"
          required: false
          schema:
            items:
              type: string
              format: uuid
            type: array
          name: product_ids
          in: query
        - description: Return only receivables whose `project_id` include at least one of the project_id with the specified IDs. Valid but nonexistent project IDs do not raise errors but produce no results.
          required: false
          schema:
            items:
              type: string
              format: uuid
            type: array
          name: project_id__in
          in: query
        - required: false
          schema:
            $ref: '#/components/schemas/ReceivableType'
          name: type
          in: query
          description: Return only receivables of the specified type. Use this parameter to get only invoices, or only quotes, or only credit notes.
        - required: false
          schema:
            type: string
          name: document_id
          in: query
          description: Return a receivable with the exact specified document number (case-sensitive). The `document_id` is the user-facing document number such as INV-00042, not to be confused with Monite resource IDs (`id`).
        - required: false
          schema:
            type: string
          name: document_id__contains
          in: query
          description: Return only receivables whose document number (`document_id`) contains the specified string (case-sensitive).
        - required: false
          schema:
            type: string
          name: document_id__icontains
          in: query
          description: Return only receivables whose document number (`document_id`) contains the specified string (case-insensitive).
        - required: false
          schema:
            type: string
            format: date-time
          name: issue_date__gt
          in: query
          description: Return only non-draft receivables that were issued after the specified date and time. The value must be in the ISO 8601 format `YYYY-MM-DDThh:mm[:ss][Z|±hh:mm]`. The milliseconds part of the value is ignored.
        - required: false
          schema:
            type: string
            format: date-time
          name: issue_date__lt
          in: query
          description: Return only non-draft receivables that were issued before the specified date and time. The milliseconds part of the value is ignored.
        - required: false
          schema:
            type: string
            format: date-time
          name: issue_date__gte
          in: query
          description: Return only non-draft receivables that were issued on or after the specified date and time. The milliseconds part of the value is ignored.
        - required: false
          schema:
            type: string
            format: date-time
          name: issue_date__lte
          in: query
          description: Return only non-draft receivables that were issued before or on the specified date and time. The milliseconds part of the value is ignored.
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__gt
          in: query
          description: Return only receivables created after the specified date and time. The value must be in the ISO 8601 format `YYYY-MM-DDThh:mm[:ss][Z|±hh:mm]`. The milliseconds part of the value is ignored.
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__lt
          in: query
          description: Return only receivables created before the specified date and time. The milliseconds part of the value is ignored.
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__gte
          in: query
          description: Return only receivables created on or after the specified date and time. The milliseconds part of the value is ignored.
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__lte
          in: query
          description: Return only receivables created before or on the specified date and time. The milliseconds part of the value is ignored.
        - required: false
          schema:
            type: string
            format: uuid
          name: counterpart_id
          in: query
          description: |-
            Return only receivables created for the counterpart with the specified ID.

            Counterparts that have been deleted but have associated receivables will still return results here because the receivables contain a frozen copy of the counterpart data.

            If the specified counterpart ID does not exist and never existed, no results are returned.
        - required: false
          schema:
            type: string
          name: counterpart_name
          in: query
          description: Return only receivables created for counterparts with the specified name (exact match, case-sensitive). For counterparts of `type` = `individual`, the full name is formatted as `first_name last_name`.
        - required: false
          schema:
            type: string
          name: counterpart_name__contains
          in: query
          description: Return only receivables created for counterparts whose name contains the specified string (case-sensitive).
        - required: false
          schema:
            type: string
          name: counterpart_name__icontains
          in: query
          description: Return only receivables created for counterparts whose name contains the specified string (case-insensitive).
        - required: false
          schema:
            type: integer
          name: total_amount
          in: query
          description: Return only receivables with the exact specified total amount. The amount must be specified in the [minor units](https://docs.monite.com/references/currencies#minor-units) of currency. For example, $12.5 is represented as 1250."
        - required: false
          schema:
            type: integer
          name: total_amount__gt
          in: query
          description: Return only receivables whose total amount (in minor units) exceeds the specified value.
        - required: false
          schema:
            type: integer
          name: total_amount__lt
          in: query
          description: Return only receivables whose total amount (in minor units) is less than the specified value.
        - required: false
          schema:
            type: integer
          name: total_amount__gte
          in: query
          description: Return only receivables whose total amount (in minor units) is greater than or equal to the specified value.
        - required: false
          schema:
            type: integer
          name: total_amount__lte
          in: query
          description: Return only receivables whose total amount (in minor units) is less than or equal to the specified value.
        - required: false
          schema:
            type: integer
          name: discounted_subtotal
          in: query
          description: Return only receivables with the exact specified discounted subtotal. The amount must be specified in the [minor units](https://docs.monite.com/references/currencies#minor-units) of currency. For example, $12.5 is represented as 1250.
        - required: false
          schema:
            type: integer
          name: discounted_subtotal__gt
          in: query
          description: Return only receivables whose discounted subtotal (in minor units) is greater than the specified value.
        - required: false
          schema:
            type: integer
          name: discounted_subtotal__lt
          in: query
          description: Return only receivables whose discounted subtotal (in minor units) is less than the specified value.
        - required: false
          schema:
            type: integer
          name: discounted_subtotal__gte
          in: query
          description: Return only receivables whose discounted subtotal (in minor units) is greater than or equal to the specified value.
        - required: false
          schema:
            type: integer
          name: discounted_subtotal__lte
          in: query
          description: Return only receivables whose discounted subtotal (in minor units) is less than or equal to the specified value.
        - required: false
          schema:
            type: string
            enum:
              - draft
              - issuing
              - issued
              - failed
              - accepted
              - expired
              - declined
              - recurring
              - partially_paid
              - paid
              - overdue
              - uncollectible
              - canceled
          name: status
          in: query
          description: |-
            Return only receivables that have the specified status. See the applicable [invoice statuses](https://docs.monite.com/accounts-receivable/invoices/index), [quote statuses](https://docs.monite.com/accounts-receivable/quotes/index), and [credit note statuses](https://docs.monite.com/accounts-receivable/credit-notes#credit-note-lifecycle).

            To query multiple statuses at once, use the `status__in` parameter instead.
        - required: false
          schema:
            type: string
            format: uuid
          name: entity_user_id
          in: query
          description: |-
            Return only receivables created by the entity users with the specified IDs. To specify multiple user IDs, repeat this parameter for each ID:
            `entity_user_id__in=<user1>&entity_user_id__in=<user2>`

            If the request is authenticated using an entity user token, this user must have the `receivable.read.allowed` (rather than `allowed_for_own`) permission to be able to query receivables created by other users.

            IDs of deleted users will still produce results here if those users had associated receivables. Valid but nonexistent user IDs do not raise errors but produce no results.
        - required: false
          schema:
            type: string
            format: uuid
          name: based_on
          in: query
          description: |-
            This parameter accepts a quote ID or an invoice ID.

             * Specify a quote ID to find invoices created from this quote.
             * Specify an invoice ID to find credit notes created for this invoice or find recurring invoices created from a base invoice.

            Valid but nonexistent IDs do not raise errors but produce no results.
        - required: false
          schema:
            type: string
            format: date
          name: due_date__gt
          in: query
          description: |-
            Return receivables whose due date is after the specified date (exclusive, `YYYY-MM-DD`).

            This filter includes invoices and credit notes (only those with a due date) and excludes quotes.
        - required: false
          schema:
            type: string
            format: date
          name: due_date__lt
          in: query
          description: |-
            Return receivables whose due date is before the specified date (exclusive, `YYYY-MM-DD`).

            This filter includes invoices and credit notes (only those with a due date) and excludes quotes.
        - required: false
          schema:
            type: string
            format: date
          name: due_date__gte
          in: query
          description: |-
            Return receivables whose due date is on or after the specified date (`YYYY-MM-DD`).

            This filter includes invoices and credit notes (only those with a due date) and excludes quotes.
        - required: false
          schema:
            type: string
            format: date
          name: due_date__lte
          in: query
          description: |-
            Return receivables whose due date is before or on the specified date (`YYYY-MM-DD`).

            This filter includes invoices and credit notes (only those with a due date) and excludes quotes.
        - required: false
          schema:
            type: boolean
          name: has_due_date
          in: query
          description: |-
            If `true`, returns only invoices and credit notes that have the `due_date` defined.

            If `false`, returns receivables (invoices, quotes, credit notes) without a `due_date`.

            If omitted (default), all receivables are included.
        - required: false
          schema:
            type: string
            format: uuid
          name: project_id
          in: query
          description: Return only receivables assigned to the project with the specified ID. Valid but nonexistent project IDs do not raise errors but return no results.
        - required: false
          schema:
            type: string
          name: search_text
          in: query
          description: Searches for the specified substring in the `counterpart_name` and `document_id` fields in receivables. The search is case-insensitive and allows partial matches. For example, `abc` will match `12-ABCD`.
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReceivablePaginationResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "406":
          description: Not Acceptable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: 'Possible responses: `Action for {object_type} at permissions not found: {action}`,`Object type at permissions not found: {object_type}`,`Action {action} for {object_type} not allowed`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - Receivables
      summary: Create a draft receivable
      operationId: post_receivables
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReceivableFacadeCreatePayload'
            examples:
              create_invoice:
                summary: Create an invoice (minimal example)
                value:
                  type: invoice
                  currency: EUR
                  line_items:
                    - product:
                        name: LG WH1000XM Monitor
                        price:
                          value: 25000
                          currency: EUR
                        measure_unit:
                          name: pcs.
                      quantity: 5
                      vat_rate_id: 83908278-841d-4d47-bcd5-97e989201409
                  counterpart_id: 34fab7ce-8cca-432a-a8a6-7e8a522e3351
                  counterpart_billing_address_id: 1323853c-0837-4a5c-8dc4-f7cb57a3efaa
                  counterpart_vat_id_id: 8cf9c135-8e27-4212-ad16-defed9222697
                  entity_bank_account_id: 5090ecd6-b0ab-40e5-a93e-4d966a3c6f3f
                  entity_vat_id_id: 439ea658-7096-49c8-8716-d62e8c2a2ed9
                  payment_terms:
                    term_final:
                      end_date: "2024-08-30"
              create_quote:
                summary: Create a quote (minimal example)
                value:
                  type: quote
                  currency: EUR
                  line_items:
                    - product:
                        name: LG WH1000XM Monitor
                        price:
                          value: 25000
                          currency: EUR
                        measure_unit:
                          name: pcs.
                      quantity: 5
                      vat_rate_id: 83908278-841d-4d47-bcd5-97e989201409
                  counterpart_id: 34fab7ce-8cca-432a-a8a6-7e8a522e3351
                  counterpart_billing_address_id: 1323853c-0837-4a5c-8dc4-f7cb57a3efaa
                  counterpart_vat_id_id: 8cf9c135-8e27-4212-ad16-defed9222697
                  entity_bank_account_id: 5090ecd6-b0ab-40e5-a93e-4d966a3c6f3f
                  entity_vat_id_id: 439ea658-7096-49c8-8716-d62e8c2a2ed9
                  expiry_date: "2024-08-30"
              invoice_from_quote:
                summary: Create an invoice from a quote
                description: Replace the `based_on` value with the quote ID.
                value:
                  type: invoice
                  based_on: e78de69c-c789-44ef-80bf-474b9e63b91d
              create_credit_note:
                summary: Create a credit note
                description: Replace the `based_on` value with the invoice ID. Afterwards, call `PATCH /receivables/{credit_note_id}` to make adjustments.
                value:
                  type: credit_note
                  based_on: e977db242-e7d5-4d2e-83cf-a1f5051ed40a
        required: true
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReceivableResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /receivables/required_fields:
    get:
      tags:
        - Receivables
      summary: Get required field names for invoice creation
      description: Get field requirements for invoice creation given the entity and counterpart details.
      operationId: get_receivables_required_fields
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: false
          schema:
            type: string
            format: uuid
          name: counterpart_id
          in: query
        - required: false
          schema:
            type: string
            format: uuid
          name: counterpart_billing_address_id
          in: query
        - required: false
          schema:
            $ref: '#/components/schemas/AllowedCountries'
          name: counterpart_country
          in: query
        - required: false
          schema:
            $ref: '#/components/schemas/CounterpartType'
          name: counterpart_type
          in: query
        - required: false
          schema:
            type: string
            format: uuid
          name: entity_vat_id_id
          in: query
        - required: false
          schema:
            type: string
            format: uuid
          name: counterpart_vat_id_id
          in: query
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReceivableRequiredFields'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /receivables/search:
    post:
      tags:
        - Receivables
      summary: Search receivables
      description: This is a POST version of the `GET /receivables` endpoint. Use it to send search and filter parameters in the request body instead of the URL query string in case the query is too long and exceeds the URL length limit of your HTTP client.
      operationId: post_receivables_search
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReceivablesSearchRequest'
            example:
              type: invoice
              status: draft
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReceivablePaginationResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "406":
          description: Not Acceptable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: 'Possible responses: `Action for {object_type} at permissions not found: {action}`,`Object type at permissions not found: {object_type}`,`Action {action} for {object_type} not allowed`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /receivables/variables:
    get:
      tags:
        - Receivables
      summary: Get email template variables
      description: Get a list of placeholders that can be used in email templates for customization.
      operationId: get_receivables_variables
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReceivableTemplatesVariablesObjectList'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /receivables/{receivable_id}:
    get:
      tags:
        - Receivables
      summary: Get a receivable by ID
      operationId: get_receivables_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: receivable_id
          in: path
          description: ID of an existing invoice, quote, or credit note that you want to retrieve.
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReceivableResponse'
        "400":
          description: |-
            Possible reasons:

             * Missing `X-Monite-Version` request header.
             * An entity with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: A receivable with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: |-
            Possible reasons:

             * `X-Monite-Entity-Id` is missing or not a valid UUID.
             * `receivable_id` is not a valid UUID.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
      description: |-
        Returns the details of an existing accounts receivable invoice, quote, or credit note with the specified ID.

        The response fields vary depending on the document type. Use the `type` field to distinguish between different document types.

        Entity users with the `receivable.read.allowed_for_own` permission (rather than `allowed`) can access only documents that they created themselves.
    patch:
      tags:
        - Receivables
      summary: Update a receivable
      operationId: patch_receivables_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: receivable_id
          in: path
          description: ID of an existing invoice, quote, or credit note that you want to update.
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReceivableUpdatePayload'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReceivableResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: A receivable with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
      description: |-
        You can update:

         * draft invoices, quotes, and credit notes,
         * invoice template for recurring invoices,
         * certain details in already issued invoices (use the `issued_invoice` envelope instead of the `invoice` envelope).

        To update the line items in an invoice or a quote, use `PUT /receivables/{receivable_id}/line_items` instead.
    delete:
      tags:
        - Receivables
      summary: Delete a draft receivable
      operationId: delete_receivables_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: receivable_id
          in: path
          description: ID of an existing invoice, quote, or credit note that you want to delete. This document must have the `draft` status.
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "204":
          description: Successful Response
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: A receivable with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Cannot delete non-draft receivables.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
      description: |-
        You can delete only draft invoices, quotes, and credit notes. Once issued, documents cannot be deleted.

        To void an issued invoice, you can instead [cancel it](https://docs.monite.com/api/receivables/post-receivables-id-cancel) or mark an overdue invoice as [uncollectible](https://docs.monite.com/api/receivables/post-receivables-id-mark-as-uncollectible).

        To void an issued quote, you can [mark it as declined](https://docs.monite.com/api/receivables/post-receivables-id-decline).
  /receivables/{receivable_id}/accept:
    post:
      tags:
        - Receivables
      summary: Accept a quote
      operationId: post_receivables_id_accept
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: receivable_id
          in: path
          description: ID of the quote to mark as accepted.
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QuoteAcceptRequest'
            examples:
              accept_with_signarure:
                summary: Accept with signature
                description: The signature is required if the quote field `signature_required` is `true`.
                value:
                  signature:
                    email: theo@example.com
                    full_name: Theo Quinn
                    signature_image: iVBORw0KGgoAAAANSUhEUg.....AAABJRU5ErkJggg==
              accept_without_signature:
                summary: Accept without signature
                value: {}
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResult'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: A quote with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: |-
            Possible reasons:

             * The specified quote is not in the `issued` status.
             * The quote requires a signature (`signature_required`=`true`) but the `signature` object was not provided in the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
      description: |-
        Only quotes in the `issued` status can be accepted.

        When a quote is accepted, Monite automatically creates a draft invoice based on this quote. To find the newly created invoice, use `GET /receivables?based_on=QUOTE_ID`.
  /receivables/{receivable_id}/cancel:
    post:
      tags:
        - Receivables
      summary: Cancel an invoice
      operationId: post_receivables_id_cancel
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: receivable_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "204":
          description: Successful Response
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /receivables/{receivable_id}/clone:
    post:
      tags:
        - Receivables
      summary: Clone a receivable
      operationId: post_receivables_id_clone
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: receivable_id
          in: path
          description: ID of an existing invoice or quote that you want to clone.
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReceivableResponse'
        "400":
          description: |-
            Possible reasons:

             * `receivable_id` specifies a credit note. Credit notes cannot be cloned.
             * Missing `X-Monite-Version` request header.
             * An entity with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: An invoice or quote with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: |-
            Unable to clone the document because one or more of the referenced resource IDs are not found (for example, the counterpart ID or product IDs). Most likely, those resources have been deleted since the original document was created.

            This error cannot be fixed by the client.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: |-
            Possible reasons:

             * `X-Monite-Entity-Id` is missing or not a valid UUID.
             * `receivable_id` is not a valid UUID.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
      description: |-
        Creates a copy of an existing accounts receivable invoice or quote. The original document can be in any status. The cloned document will have the `draft` status.

        Cloning a document requires that all of the referenced resource IDs (counterpart ID, product IDs, and others) still exist.

        Most of the original document's data is copied as is, with a few exceptions:

         * Some fields are not copied: `attachments`, `document_id`, `issue_date`, invoice `payment_page_url`, quote `expiry_date`.
         * Counterpart details, entity bank account details, and entity VAT number are fetched anew from their corresponding IDs.
           This means, for example, that if the counterpart details have been changed since the original invoice or quote was created,
           the cloned document will use the current counterpart details rather than the old details from the original document.
  /receivables/{receivable_id}/decline:
    post:
      tags:
        - Receivables
      summary: Decline a quote
      operationId: post_receivables_id_decline
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: receivable_id
          in: path
          description: ID of the quote to mark as declined.
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReceivableDeclinePayload'
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResult'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: A quote with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: The specified quote is not in the `issued` status.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
      description: Only quotes in the `issued` status can be declined.
  /receivables/{receivable_id}/history:
    get:
      tags:
        - Receivables
      summary: Get a receivable's history
      description: |-
        Returns the history of the specified accounts receivable document. The history contains all revisions of the document, status updates, and other events that occurred during the document's lifecycle. For more information, see [Document history](https://docs.monite.com/accounts-receivable/document-history).

        You can filter the history by the date range and event type. Events are sorted from oldest to newest by default.
      operationId: get_receivables_id_history
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: ID of the accounts receivable document whose history you want to get.
          required: true
          schema:
            type: string
            format: uuid
          name: receivable_id
          in: path
        - description: Sort order (ascending by default). Typically used together with the `sort` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/OrderEnum'
            default: asc
          name: order
          in: query
        - description: The number of items (0 .. 100) to return in a single page of the response. The response may contain fewer items if it is the last or only page.
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            default: 100
          name: limit
          in: query
        - description: |-
            A pagination token obtained from a previous call to this endpoint. Use it to get the next or previous page of results for your initial query. If `pagination_token` is specified, all other query parameters are ignored and inferred from the initial query.

            If not specified, the first page of results will be returned.
          required: false
          schema:
            type: string
          name: pagination_token
          in: query
        - description: The field to sort the results by. Typically used together with the `order` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/ReceivableHistoryCursorFields'
          name: sort
          in: query
        - description: |-
            Return only the specified [event types](https://docs.monite.com/accounts-receivable/document-history#event-types). To include multiple types, repeat this parameter for each value:
            `event_type__in=receivable_updated&event_type__in=status_changed`
          required: false
          schema:
            items:
              $ref: '#/components/schemas/ReceivableHistoryEventTypeEnum'
            type: array
          name: event_type__in
          in: query
        - description: |-
            Return only events caused by the entity users with the specified IDs. To specify multiple user IDs, repeat this parameter for each ID:
            `entity_user_id__in=<user1>&entity_user_id__in=<user2>`
          required: false
          schema:
            items:
              type: string
              format: uuid
            type: array
          name: entity_user_id__in
          in: query
        - description: Return only events that occurred after the specified date and time. The value must be in the ISO 8601 format `YYYY-MM-DDThh:mm[:ss[.ffffff]][Z|±hh:mm]`.
          required: false
          schema:
            type: string
            format: date-time
          name: timestamp__gt
          in: query
        - description: Return only events that occurred before the specified date and time.
          required: false
          schema:
            type: string
            format: date-time
          name: timestamp__lt
          in: query
        - description: Return only events that occurred on or after the specified date and time.
          required: false
          schema:
            type: string
            format: date-time
          name: timestamp__gte
          in: query
        - description: Return only events that occurred before or on the specified date and time.
          required: false
          schema:
            type: string
            format: date-time
          name: timestamp__lte
          in: query
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReceivableHistoryPaginationResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /receivables/{receivable_id}/history/{receivable_history_id}:
    get:
      tags:
        - Receivables
      summary: Get a receivable's history record by ID
      description: Returns a single record from the change history of the specified accounts receivable document.
      operationId: get_receivables_id_history_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: ID of the history record to return. You can get these IDs from `GET /receivables/{receivable_id}/history`.
          required: true
          schema:
            type: string
            format: uuid
          name: receivable_history_id
          in: path
        - description: ID of the accounts receivable document whose history you want to get.
          required: true
          schema:
            type: string
            format: uuid
          name: receivable_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReceivableHistoryResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /receivables/{receivable_id}/issue:
    post:
      tags:
        - Receivables
      summary: Issue a receivable
      operationId: post_receivables_id_issue
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: receivable_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReceivableResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /receivables/{receivable_id}/line_items:
    put:
      tags:
        - Receivables
      summary: Update the line items of a receivable
      description: |-
        Use this endpoint to update the line items in:

         * draft quotes,
         * invoices in the `draft` and `recurring` statuses,
         * ([non-compliant mode only](https://docs.monite.com/accounts-receivable/regulatory-compliance/invoice-compliance)) invoices in the `issued` and `overdue` statuses.

        Invoices and quotes in other statuses cannot be updated.

        The list of line items provided in the request body fully replaces all previous line items in the specified document.

        To update the line items in draft credit notes, use [`PATCH /receivables/{receivable_id}`](https://docs.monite.com/api/receivables/patch-receivables-id) instead.
      operationId: put_receivables_id_line_items
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: receivable_id
          in: path
          description: ID of the invoice or quote you want to update.
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateLineItems'
            example:
              data:
                - product_id: d211fd83-4010-4b23-8207-570d0ed5ebe1
                  quantity: 2
                  vat_rate_id: 9a7f880d-0f2a-44ca-aa35-e22281e30f63
                - product:
                    name: LG WH1000XM Monitor
                    price:
                      currency: EUR
                      value: 25000
                    measure_unit:
                      name: pcs.
                  quantity: 1
                  vat_rate_id: 9a7f880d-0f2a-44ca-aa35-e22281e30f63
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LineItemsResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: An invoice or quote with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: |-
            Possible reasons:

             * The specified invoice or quote is in a status that cannot be edited.
             * `receivable_id` specifies an unsupported document type, such as a credit note.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /receivables/{receivable_id}/mails:
    get:
      tags:
        - Receivables
      summary: Get a list of all mails sent by receivable
      operationId: get_receivables_id_mails
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: receivable_id
          in: path
        - description: Sort order (ascending by default). Typically used together with the `sort` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/OrderEnum'
            default: asc
          name: order
          in: query
        - description: The number of items (0 .. 100) to return in a single page of the response. The response may contain fewer items if it is the last or only page.
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            default: 100
          name: limit
          in: query
        - description: |-
            A pagination token obtained from a previous call to this endpoint. Use it to get the next or previous page of results for your initial query. If `pagination_token` is specified, all other query parameters are ignored and inferred from the initial query.

            If not specified, the first page of results will be returned.
          required: false
          schema:
            type: string
          name: pagination_token
          in: query
        - description: The field to sort the results by. Typically used together with the `order` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/ReceivableMailCursorFields'
          name: sort
          in: query
        - required: false
          schema:
            $ref: '#/components/schemas/ReceivableMailStatusEnum'
          name: status
          in: query
        - required: false
          schema:
            items:
              $ref: '#/components/schemas/ReceivableMailStatusEnum'
            type: array
          name: status__in
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__gt
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__lt
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__gte
          in: query
        - required: false
          schema:
            type: string
            format: date-time
          name: created_at__lte
          in: query
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReceivableMailPaginationResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /receivables/{receivable_id}/mails/{mail_id}:
    get:
      tags:
        - Receivables
      summary: Get a mail sent by receivable
      operationId: get_receivables_id_mails_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: receivable_id
          in: path
        - required: true
          schema:
            type: string
            format: uuid
          name: mail_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReceivableMailResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /receivables/{receivable_id}/mark_as_paid:
    post:
      tags:
        - Receivables
      summary: Mark an invoice as paid
      operationId: post_receivables_id_mark_as_paid
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: receivable_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReceivablePaidPayload'
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReceivableResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /receivables/{receivable_id}/mark_as_partially_paid:
    post:
      tags:
        - Receivables
      summary: Mark an invoice as partially paid
      description: Deprecated. Use `POST /payment_records` to record an invoice payment.
      operationId: post_receivables_id_mark_as_partially_paid
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: receivable_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReceivablePartiallyPaidPayload'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReceivableResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      deprecated: true
      security:
        - HTTPBearer: []
  /receivables/{receivable_id}/mark_as_uncollectible:
    post:
      tags:
        - Receivables
      summary: Mark an invoice as uncollectible
      operationId: post_receivables_id_mark_as_uncollectible
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: receivable_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReceivableUncollectiblePayload'
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReceivableResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /receivables/{receivable_id}/pdf_link:
    get:
      tags:
        - Receivables
      summary: Get a link to the PDF version of a receivable
      operationId: get_receivables_id_pdf_link
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: receivable_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReceivableFileUrl'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /receivables/{receivable_id}/preview:
    post:
      tags:
        - Receivables
      summary: Preview a receivable's email message
      operationId: post_receivables_id_preview
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: receivable_id
          in: path
          description: ID of an existing invoice, quote, or credit note.
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReceivablePreviewRequest'
        required: true
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReceivablePreviewResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: A receivable with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
      description: |-
        You can preview emails only for documents in the following statuses:

         * Invoices: `draft`, `issued`, `overdue`, `partially_paid`, `paid`.
           In the [non-compliant mode](https://docs.monite.com/accounts-receivable/regulatory-compliance/invoice-compliance): also `canceled`.
         * Quotes: `draft`, `issued`.
         * Credit notes: `draft`, `issued`.
  /receivables/{receivable_id}/send:
    post:
      tags:
        - Receivables
      summary: Send a receivable via email
      operationId: post_receivables_id_send
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: receivable_id
          in: path
          description: ID of an existing invoice, quote, or credit note that you want to send via email.
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReceivableSendRequest'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReceivableSendResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: A receivable with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: 'Unsupported receivable status for emails. Must be one of: `draft`, `issued`, `partially_paid`, `paid`, `overdue`, `canceled`.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
      description: |-
        Sends an email containing the specified invoice, quote, or credit note and its [attachments](https://docs.monite.com/accounts-receivable/customization/attachments) to the specified receipients. For more information, see [Send an invoice via email](https://docs.monite.com/accounts-receivable/invoices/create#send-via-email).

        You can only send receivables that have the following statuses:

         * Invoices: `draft`, `issued`, `partially_paid`, `paid`, `overdue`.
           In the [non-compliant mode](https://docs.monite.com/accounts-receivable/regulatory-compliance/invoice-compliance):
           also `canceled`.
         * Quotes: `draft`, `issued`.
         * Credit notes: `draft`, `issued`.

        Draft receivables are automatically moved to the `issued` status before being emailed. That is, you can use `/receivables/{receivable_id}/send` as a shortcut for `/receivables/{receivable_id}/issue` + `/send`, if needed. If issuing fails, the receivables remains in the `draft` status and no email is sent.

        The counterpart's default email address, which is stored in the `counterpart_contact.email` field of the receivable, is automatically added to the `recipients.to` list.

        The response contains the `mail_id` which you can pass to [`GET /receivables/{receivable_id}/mails/{mail_id}`](https://docs.monite.com/api/receivables/get-receivables-id-mails-id) to check the email sending status.

        If you use [custom email templates](https://docs.monite.com/advanced/email-templates/index), note that Monite has separate template types for unpaid invoices, fully paid invoices, quotes, and credit notes.
  /receivables/{receivable_id}/send_test_reminder:
    post:
      tags:
        - Receivables
      summary: Send a test reminder
      operationId: post_receivables_id_send_test_reminder
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: receivable_id
          in: path
          description: ID of an existing invoice for which you want to send a payment reminder or overview reminder.
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReceivableSendTestReminderPayload'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReceivablesSendResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /receivables/{receivable_id}/verify:
    post:
      tags:
        - Receivables
      summary: Verify a receivable
      operationId: post_receivables_id_verify
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: receivable_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReceivablesVerifyResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /recurrences:
    get:
      tags:
        - Recurrences
      summary: Get recurrences
      operationId: get_recurrences
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecurrenceResponseList'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - Recurrences
      summary: Create a recurrence
      operationId: post_recurrences
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateRecurrencePayload'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecurrenceResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /recurrences/{recurrence_id}:
    get:
      tags:
        - Recurrences
      summary: Get a recurrence by ID
      operationId: get_recurrences_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: recurrence_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecurrenceResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    patch:
      tags:
        - Recurrences
      summary: Update a recurrence
      operationId: patch_recurrences_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: recurrence_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateRecurrencePayload'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecurrenceResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /recurrences/{recurrence_id}/cancel:
    post:
      tags:
        - Recurrences
      summary: Cancel a recurrence
      operationId: post_recurrences_id_cancel
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: recurrence_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "204":
          description: Successful Response
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /recurrences/{recurrence_id}/pause:
    post:
      tags:
        - Recurrences
      summary: Pause a recurrence
      operationId: post_recurrences_id_pause
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: recurrence_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema: {}
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /recurrences/{recurrence_id}/resume:
    post:
      tags:
        - Recurrences
      summary: Resume a recurrence
      operationId: post_recurrences_id_resume
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: recurrence_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema: {}
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /roles:
    get:
      tags:
        - Roles
      summary: Search roles
      description: Find all roles that match the search criteria.
      operationId: get_roles
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: order
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/OrderEnum'
            default: asc
          description: Sort order (ascending by default). Typically used together with the `sort` parameter.
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            default: 100
          description: The number of items (0 .. 100) to return in a single page of the response. The response may contain fewer items if it is the last or only page.
        - name: pagination_token
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: "null"
          description: |-
            A pagination token obtained from a previous call to this endpoint. Use it to get the next or previous page of results for your initial query. If `pagination_token` is specified, all other query parameters are ignored and inferred from the initial query.

            If not specified, the first page of results will be returned.
        - name: sort
          in: query
          required: false
          schema:
            anyOf:
              - $ref: '#/components/schemas/RoleCursorFields'
              - type: "null"
          description: The field to sort the results by. Typically used together with the `order` parameter.
        - name: id__in
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                  format: uuid
              - type: "null"
        - name: name
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: "null"
        - name: created_at
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: "null"
        - name: created_at__gt
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: "null"
        - name: created_at__lt
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: "null"
        - name: created_at__gte
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: "null"
        - name: created_at__lte
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: "null"
        - name: x-monite-entity-id
          in: header
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          description: The ID of the entity that owns the requested resource.
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RolePaginationResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "406":
          description: Not Acceptable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - Roles
      summary: Create a role
      description: Create a new role from the specified values.
      operationId: post_roles
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: x-monite-entity-id
          in: header
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          description: The ID of the entity that owns the requested resource.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateRoleRequest'
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleResponse'
        "400":
          description: |-
            Possible reasons:
            * A role with the specified name already exists.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /roles/{role_id}:
    get:
      tags:
        - Roles
      summary: Get a role by ID
      operationId: get_roles_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: role_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: x-monite-entity-id
          in: header
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          description: The ID of the entity that owns the requested resource.
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "404":
          description: A role with the specified ID was not found.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    patch:
      tags:
        - Roles
      summary: Update a role
      description: Change the specified fields with the provided values.
      operationId: patch_roles_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: role_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: x-monite-entity-id
          in: header
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          description: The ID of the entity that owns the requested resource.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateRoleRequest'
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "404":
          description: A role with the specified ID was not found.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    delete:
      tags:
        - Roles
      summary: Delete a role
      description: Delete a role with the specified ID. The role being deleted must not be in use by any entity users, otherwise a 409 error is returned. To check if there are entity users that have this role, call `GET /entity_users?role_id=ROLE_ID`.
      operationId: delete_roles_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: role_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: x-monite-entity-id
          in: header
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          description: The ID of the entity that owns the requested resource.
      responses:
        "204":
          description: Successful Response
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "404":
          description: A role with the specified ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /settings:
    get:
      tags:
        - Partner settings
      summary: Get partner settings
      description: |-
        Partner-level settings apply to all entities of that partner.

        See also:

         * [Get entity settings](https://docs.monite.com/api/entities/get-entities-id-settings)
      operationId: get_settings
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartnerProjectSettingsPayload-Output'
        "400":
          description: Missing `X-Monite-Version` request header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "403":
          description: The specified access token does not have permissions to perform this operation.
        "404":
          description: Invalid API version.
        "422":
          description: '`X-Monite-Version` value is not a valid date.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    patch:
      tags:
        - Partner settings
      summary: Update partner settings
      description: |-
        Partner-level settings apply to all entities of that partner.

        See also:

         * [Update entity settings](https://docs.monite.com/api/entities/patch-entities-id-settings)
      operationId: patch_settings
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PartnerProjectSettingsPayload-Input'
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartnerProjectSettingsPayload-Output'
        "400":
          description: Missing `X-Monite-Version` request header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "403":
          description: The specified access token does not have permissions to perform this operation.
        "404":
          description: Invalid API version.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /tags:
    get:
      tags:
        - Tags
      summary: Get tags
      description: |-
        Get a list of all tags. Tags can be assigned to resources to assist with searching and filtering.
            Tags can also be used as trigger conditions in payable approval policies.

            Optional filters:
            - `category`: Return only tags that belong to the specified category.
            - `category__in`: Return tags that belong to any of the specified categories.
      operationId: get_tags
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: Sort order (ascending by default). Typically used together with the `sort` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/OrderEnum'
            default: asc
          name: order
          in: query
        - description: The number of items (0 .. 100) to return in a single page of the response. The response may contain fewer items if it is the last or only page.
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            default: 100
          name: limit
          in: query
        - description: |-
            A pagination token obtained from a previous call to this endpoint. Use it to get the next or previous page of results for your initial query. If `pagination_token` is specified, all other query parameters are ignored and inferred from the initial query.

            If not specified, the first page of results will be returned.
          required: false
          schema:
            type: string
          name: pagination_token
          in: query
        - description: The field to sort the results by. Typically used together with the `order` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/TagCursorFields'
          name: sort
          in: query
        - required: false
          schema:
            type: string
            format: uuid
          name: created_by_entity_user_id
          in: query
        - required: false
          schema:
            items:
              type: string
            type: array
          name: name__in
          in: query
        - required: false
          schema:
            items:
              type: string
              format: uuid
            type: array
          name: id__in
          in: query
        - description: Filter tags by a single category value.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/TagCategory'
          name: category
          in: query
        - description: Filter tags by any of the provided categories.
          required: false
          schema:
            items:
              $ref: '#/components/schemas/TagCategory'
            type: array
          name: category__in
          in: query
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagsPaginationResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "406":
          description: Not Acceptable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - Tags
      summary: Create a tag
      description: |-
        Create a new tag. The tag name must be unique.
            Tag names are case-sensitive, that is `Marketing` and `marketing` are two different tags.


        The response returns an auto-generated ID assigned to this tag.
        To assign this tag to a resource, send the tag ID in the `tag_ids` list when creating or updating a resource.
      operationId: post_tags
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TagCreateSchema'
        required: true
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagReadSchema'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "406":
          description: Not Acceptable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /tags/{tag_id}:
    get:
      tags:
        - Tags
      summary: Get a tag by ID
      description: Get information about a tag with the given ID.
      operationId: get_tags_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: tag_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagReadSchema'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "406":
          description: Not Acceptable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    patch:
      tags:
        - Tags
      summary: Update a tag
      description: |-
        Change the tag name. The new name must be unique among existing tags.
            Tag names are case-sensitive, that is `Marketing` and `marketing` are two different tags.
      operationId: patch_tags_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: tag_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TagUpdateSchema'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagReadSchema'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "406":
          description: Not Acceptable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    delete:
      tags:
        - Tags
      summary: Delete a tag
      description: Delete a tag with the given ID. This tag will be automatically deleted from all resources where it was used.
      operationId: delete_tags_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: tag_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "204":
          description: Successful Response
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "406":
          description: Not Acceptable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse2'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /text_templates:
    get:
      tags:
        - Text templates
      summary: Get text templates
      description: Get text templates
      operationId: get_text_templates
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: false
          schema:
            $ref: '#/components/schemas/TextTemplateType'
          name: type
          in: query
        - required: false
          schema:
            $ref: '#/components/schemas/TextTemplateDocumentTypeEnum'
          name: document_type
          in: query
        - required: false
          schema:
            type: boolean
          name: is_default
          in: query
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TextTemplateResponseList'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - Text templates
      summary: Create a text template
      description: Create a text template
      operationId: post_text_templates
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTextTemplatePayload'
        required: true
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TextTemplateResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /text_templates/{text_template_id}:
    get:
      tags:
        - Text templates
      summary: Get a text template by ID
      description: Get all custom contents
      operationId: get_text_templates_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: text_template_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TextTemplateResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    patch:
      tags:
        - Text templates
      summary: Update a text template by ID
      description: Update custom content by ID
      operationId: patch_text_templates_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: UUID text_template ID
          required: true
          schema:
            type: string
            format: uuid
          name: text_template_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateTextTemplatePayload'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TextTemplateResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    delete:
      tags:
        - Text templates
      summary: Delete a text template
      description: Delete custom content by ID
      operationId: delete_text_templates_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: UUID text_template ID
          required: true
          schema:
            type: string
            format: uuid
          name: text_template_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "204":
          description: Successful Response
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /text_templates/{text_template_id}/make_default:
    post:
      tags:
        - Text templates
      summary: Make a text template default
      description: Make text template default
      operationId: post_text_templates_id_make_default
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: UUID text_template ID
          required: true
          schema:
            type: string
            format: uuid
          name: text_template_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TextTemplateResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /transactions:
    get:
      tags:
        - Transactions
      summary: Get transactions
      operationId: get_transactions
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: Sort order (ascending by default). Typically used together with the `sort` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/OrderEnum'
            default: asc
          name: order
          in: query
        - description: Max is 100
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            default: 100
          name: limit
          in: query
        - description: A token, obtained from previous page. Prior over other filters
          required: false
          schema:
            type: string
          name: pagination_token
          in: query
        - description: The field to sort the results by. Typically used together with the `order` parameter.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/TransactionCursorFields'
          name: sort
          in: query
        - description: Created after this datetime (exclusive)
          required: false
          schema:
            type: string
            format: date-time
          name: created_at__gt
          in: query
        - description: Created before this datetime (exclusive)
          required: false
          schema:
            type: string
            format: date-time
          name: created_at__lt
          in: query
        - description: Updated after this datetime (exclusive)
          required: false
          schema:
            type: string
            format: date-time
          name: updated_at__gt
          in: query
        - description: Updated before this datetime (exclusive)
          required: false
          schema:
            type: string
            format: date-time
          name: updated_at__lt
          in: query
        - description: Transaction started after this datetime (exclusive)
          required: false
          schema:
            type: string
            format: date-time
          name: started_at__gt
          in: query
        - description: Transaction started before this datetime (exclusive)
          required: false
          schema:
            type: string
            format: date-time
          name: started_at__lt
          in: query
        - description: One or multiple of the transaction statuses
          required: false
          schema:
            items:
              $ref: '#/components/schemas/TransactionStatusEnum'
            type: array
          name: status__in
          in: query
        - description: One or multiple of the transaction types
          required: false
          schema:
            items:
              $ref: '#/components/schemas/TransactionTypeEnum'
            type: array
          name: type__in
          in: query
        - description: One or multiple of the entity users
          required: false
          schema:
            items:
              type: string
              format: uuid
            type: array
          name: entity_user_id__in
          in: query
        - description: One or multiple of the transaction external ids
          required: false
          schema:
            items:
              type: string
            type: array
          name: external_id__in
          in: query
        - description: Amount greater than (exclusive)
          required: false
          schema:
            type: integer
          name: amount__gt
          in: query
        - description: Amount less than (exclusive)
          required: false
          schema:
            type: integer
          name: amount__lt
          in: query
        - description: One or multiple of the transaction currencies
          required: false
          schema:
            items:
              $ref: '#/components/schemas/CurrencyEnum'
            type: array
          name: currency__in
          in: query
        - description: Merchant amount greater than (exclusive)
          required: false
          schema:
            type: integer
          name: merchant_amount__gt
          in: query
        - description: Merchant amount less than (exclusive)
          required: false
          schema:
            type: integer
          name: merchant_amount__lt
          in: query
        - description: One or multiple of the transaction merchant currencies
          required: false
          schema:
            items:
              $ref: '#/components/schemas/CurrencyEnum'
            type: array
          name: merchant_currency__in
          in: query
        - description: Partially matched merchant name
          required: false
          schema:
            type: string
          name: merchant_name__icontains
          in: query
        - description: Payment method type of the transaction
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/TransactionPaymentMethodTypeEnum'
          name: payment_method
          in: query
        - description: One or multiple of the payment method types
          required: false
          schema:
            items:
              $ref: '#/components/schemas/TransactionPaymentMethodTypeEnum'
            type: array
          name: payment_method__in
          in: query
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionResponseList'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    post:
      tags:
        - Transactions
      summary: Create a transaction
      operationId: post_transactions
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransactionRequest'
        required: true
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /transactions/bulk:
    post:
      tags:
        - Transactions
      summary: Create multiple transactions
      operationId: post_transactions_bulk
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransactionBulkRequest'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionBulkResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /transactions/{transaction_id}:
    get:
      tags:
        - Transactions
      summary: Get a transaction
      operationId: get_transactions_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: transaction_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    patch:
      tags:
        - Transactions
      summary: Update a transaction
      operationId: patch_transactions_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: transaction_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransactionUpdateRequest'
        required: true
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "409":
          description: Business logic error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
    delete:
      tags:
        - Transactions
      summary: Delete a transaction
      operationId: delete_transactions_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: true
          schema:
            type: string
            format: uuid
          name: transaction_id
          in: path
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "204":
          description: Successful Response
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /vat_rates:
    get:
      tags:
        - VAT rates
      summary: Get VAT rates
      operationId: get_vat_rates
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - required: false
          schema:
            type: string
            format: uuid
          name: counterpart_address_id
          in: query
          description: Unused. Reserved for future use.
        - required: false
          schema:
            type: string
            format: uuid
          name: counterpart_id
          in: query
          description: ID of the counterpart that will be invoiced.
        - required: false
          schema:
            type: string
            format: uuid
          name: counterpart_vat_id_id
          in: query
          description: Unused. Reserved for future use.
        - required: false
          schema:
            type: string
            format: uuid
          name: entity_vat_id_id
          in: query
          description: ID of the entity's VAT number (if any) used for the sales transaction.
        - required: false
          schema:
            $ref: '#/components/schemas/ProductServiceTypeEnum'
          name: product_type
          in: query
          description: Unused. Reserved for future use.
        - description: The ID of the entity that owns the requested resource.
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          name: x-monite-entity-id
          in: header
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VatRateListResponse'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "403":
          description: The specified access token does not have permissions to perform this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
      description: |-
        Monite maintains a catalog of VAT and sales tax rates for [select countries](https://docs.monite.com/accounts-receivable/vat-rates#supported-countries).

        To query the applicable VAT/tax rates for an invoice or quote, use:

        `GET /vat_rates?counterpart_id=<...>&entity_vat_id_id=<...>`

        Or if the entity does not have a VAT ID:

        `GET /vat_rates?counterpart_id=<...>`

        **Note:** Entities from countries [not on the list](https://docs.monite.com/accounts-receivable/vat-rates#supported-countries) should not use this endpoint. Instead, those entities can either create custom VAT/tax rates or use the invoice field `line_items[].tax_rate_value` to specify the VAT/tax rates directly.
  /webhook_deliveries:
    get:
      tags:
        - Webhook deliveries
      summary: Get the webhook delivery log
      description: |-
        Returns an aggregated log of webhook delivery attempts. The data contains a list of triggered webhook events, how many times Monite tried to send each event to your server, the last HTTP status code returned by your webhook listener endpoint, and whether the final attempt to deliver that event was successful.

        We guarantee access to webhook delivery data only from the last three months. Earlier data may be unavailable.

        Note that if the same event type is included in multiple webhook subscriptions, the results will include several entries for each occurrence of this event - one entry per subscription.
      operationId: get_webhook_deliveries
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: order
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/OrderEnum'
            default: asc
          description: Sort order (ascending by default). Typically used together with the `sort` parameter.
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            default: 100
          description: The number of items (0 .. 100) to return in a single page of the response. The response may contain fewer items if it is the last or only page.
        - name: pagination_token
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: "null"
          description: |-
            A pagination token obtained from a previous call to this endpoint. Use it to get the next or previous page of results for your initial query. If `pagination_token` is specified, all other query parameters are ignored and inferred from the initial query.

            If not specified, the first page of results will be returned.
        - name: sort
          in: query
          required: false
          schema:
            anyOf:
              - $ref: '#/components/schemas/WebhookDeliveryCursorFields'
              - type: "null"
          description: The field to sort the results by. Typically used together with the `order` parameter.
        - name: event_id
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: uuid
              - type: "null"
        - name: object_type
          in: query
          required: false
          schema:
            anyOf:
              - $ref: '#/components/schemas/WebhookObjectType'
              - type: "null"
        - name: event_action
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: "null"
        - name: created_at__gt
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: "null"
        - name: created_at__lt
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: "null"
        - name: created_at__gte
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: "null"
        - name: created_at__lte
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: "null"
        - name: x-monite-entity-id
          in: header
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          description: The ID of the entity that owns the requested resource.
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookDeliveryPaginationResource'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /webhook_subscriptions:
    get:
      tags:
        - Webhook subscriptions
      summary: Get webhook subscriptions
      operationId: get_webhook_subscriptions
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: order
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/OrderEnum'
            default: asc
          description: Sort order (ascending by default). Typically used together with the `sort` parameter.
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            default: 100
          description: The number of items (0 .. 100) to return in a single page of the response. The response may contain fewer items if it is the last or only page.
        - name: pagination_token
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: "null"
          description: |-
            A pagination token obtained from a previous call to this endpoint. Use it to get the next or previous page of results for your initial query. If `pagination_token` is specified, all other query parameters are ignored and inferred from the initial query.

            If not specified, the first page of results will be returned.
        - name: sort
          in: query
          required: false
          schema:
            anyOf:
              - $ref: '#/components/schemas/WebhookSubscriptionCursorFields'
              - type: "null"
          description: The field to sort the results by. Typically used together with the `order` parameter.
        - name: object_type
          in: query
          required: false
          schema:
            anyOf:
              - $ref: '#/components/schemas/WebhookObjectType'
              - type: "null"
        - name: created_at__gt
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: "null"
          description: Return only subscriptions created after the specified date and time.
        - name: created_at__lt
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: "null"
          description: Return only subscriptions created before the specified date and time.
        - name: created_at__gte
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: "null"
          description: Return only subscriptions created on or after the specified date and time.
        - name: created_at__lte
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: "null"
          description: Return only subscriptions created before or on the specified date and time.
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookSubscriptionPaginationResource'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
      description: Returns a list of all [webhook](https://docs.monite.com/references/webhooks/index) subscriptions (both active and disabled).
    post:
      tags:
        - Webhook subscriptions
      summary: Subscribe to a webhook
      operationId: post_webhook_subscriptions
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateWebhookSubscriptionRequest'
            example:
              url: https://example.com/your-webhook-listener
              object_type: entity
              event_types:
                - created
                - onboarding_requirements.updated
                - onboarding_requirements.status_updated
      callbacks:
        webhook_notification:
          '{$request.body.url}':
            post:
              summary: Webhook Notification
              operationId: webhook_notification__request_body_url__post
              requestBody:
                required: true
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/EventResourceForWebhookClient'
              responses:
                "200":
                  description: Your server must respond with HTTP status code 200 to acknowledge receipt of the webhook.
                  content: {}
      responses:
        "201":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookSubscriptionResourceWithSecret'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
      description: 'Related guide: [Webhooks](https://docs.monite.com/references/webhooks/index).'
  /webhook_subscriptions/{webhook_subscription_id}:
    get:
      tags:
        - Webhook subscriptions
      summary: Get a webhook subscription
      operationId: get_webhook_subscriptions_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: webhook_subscription_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: ID of the webhook subscription. This is the same value as the `webhook_subscription_id` you receive in webhooks.
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookSubscriptionResource'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "404":
          description: A subscription with the specified ID was not found. Make sure you're querying the correct environment (sandbox or production).
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
      description: |-
        Returns the details of the webhook subscription with the specified ID.

        The response does not include the [webhook signing secret](https://docs.monite.com/references/webhooks/signatures). If you lost the secret, you can [regenerate it](https://docs.monite.com/api/webhook-subscriptions/post-webhook-subscriptions-id-regenerate-secret).
    patch:
      tags:
        - Webhook subscriptions
      summary: Update a webhook subscription
      operationId: patch_webhook_subscriptions_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: webhook_subscription_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: ID of the webhook subscription. This is the same value as the `webhook_subscription_id` you receive in webhooks.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateWebhookSubscriptionRequest'
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookSubscriptionResource'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "404":
          description: A subscription with the specified ID was not found. Make sure you're querying the correct environment (sandbox or production).
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
      description: You can update the webhook listener URL or the event list.
    delete:
      tags:
        - Webhook subscriptions
      summary: Delete a webhook subscription
      operationId: delete_webhook_subscriptions_id
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: webhook_subscription_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: ID of the webhook subscription. This is the same value as the `webhook_subscription_id` you receive in webhooks.
      responses:
        "204":
          description: Successful Response
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "404":
          description: A subscription with the specified ID was not found. Make sure you're querying the correct environment (sandbox or production).
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /webhook_subscriptions/{webhook_subscription_id}/disable:
    post:
      tags:
        - Webhook subscriptions
      summary: Disable a webhook subscription
      operationId: post_webhook_subscriptions_id_disable
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: webhook_subscription_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: ID of the webhook subscription. This is the same value as the `webhook_subscription_id` you receive in webhooks.
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookSubscriptionResource'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /webhook_subscriptions/{webhook_subscription_id}/enable:
    post:
      tags:
        - Webhook subscriptions
      summary: Enable a webhook subscription
      operationId: post_webhook_subscriptions_id_enable
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: webhook_subscription_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: ID of the webhook subscription. This is the same value as the `webhook_subscription_id` you receive in webhooks.
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookSubscriptionResource'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
  /webhook_subscriptions/{webhook_subscription_id}/regenerate_secret:
    post:
      tags:
        - Webhook subscriptions
      summary: Regenerate a webhook secret and return the new webhook subscription
      operationId: post_webhook_subscriptions_id_regenerate_secret
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: "2024-05-25"
          name: x-monite-version
          in: header
        - name: webhook_subscription_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: ID of the webhook subscription. This is the same value as the `webhook_subscription_id` you receive in webhooks.
      responses:
        "200":
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookSubscriptionResourceWithSecret'
        "401":
          description: The `Authorization` header is missing or contains an invalid or expired access token. See [Authentication](https://docs.monite.com/api/concepts/authentication) to learn how to authenticate API calls.
        "404":
          description: A subscription with the specified ID was not found. Make sure you're querying the correct environment (sandbox or production).
        "422":
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        "429":
          $ref: '#/components/responses/429TooManyRequests'
      security:
        - HTTPBearer: []
      description: The webhook signing secret lets you [verify webhook signatures](https://docs.monite.com/references/webhooks/signatures). If you lost the original secret generated for any of your webhook subscriptions, you can regenerate it.
components:
  schemas:
    APIVersion:
      type: string
      enum:
        - "2024-05-25"
        - "2024-01-31"
        - "2023-09-01"
        - "2023-06-04"
        - "2023-04-12"
        - "2023-03-14"
        - "2023-03-01"
        - "2023-02-07"
        - "2022-11-16"
    AccessTokenResponse:
      properties:
        access_token:
          type: string
          examples:
            - L8qq9PZyRg6ieKGEKhZolGC0vJWLw8iEJ88DRdyOg
          description: 'The access token. Send it in the `Authorization: Bearer ACCESS_TOKEN` header in subsequent API calls.'
        expires_in:
          type: integer
          examples:
            - 86400
          description: The token expiration time, in seconds.
        token_type:
          type: string
          examples:
            - Bearer
          description: Always "Bearer".
      type: object
      required:
        - access_token
        - expires_in
        - token_type
    AccountDisabledReason:
      type: string
      enum:
        - requirements.past_due
        - requirements.pending_verification
        - listed
        - platform_paused
        - rejected.fraud
        - rejected.listed
        - rejected.terms_of_service
        - rejected.other
        - under_review
        - other
    AccountingConnectionList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/AccountingConnectionResponse'
          type: array
      type: object
      required:
        - data
    AccountingConnectionResponse:
      properties:
        id:
          type: string
          format: uuid
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        business_info:
          $ref: '#/components/schemas/BusinessInfoSchema'
        connection_url:
          type: string
        errors:
          items:
            $ref: '#/components/schemas/ErrorSchema'
          type: array
        last_pull:
          type: string
          format: date-time
        platform:
          type: string
        status:
          $ref: '#/components/schemas/ConnectionStatus'
      type: object
      required:
        - id
        - created_at
        - updated_at
        - connection_url
    AccountingCostCenterCreateRequest:
      properties:
        description:
          type: string
          maxLength: 2048
          description: Description of the cost center
        name:
          type: string
          maxLength: 500
          description: Name of the cost center
      type: object
      description: Schema for creating a new cost center.
    AccountingCostCenterListResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/AccountingCostCenterResponse'
          type: array
        next_pagination_token:
          type: string
        prev_pagination_token:
          type: string
      type: object
      required:
        - data
    AccountingCostCenterResponse:
      properties:
        id:
          type: string
          format: uuid
        created_at:
          type: string
          format: date-time
          description: The timestamp when the cost center was created.
        updated_at:
          type: string
          format: date-time
          description: The timestamp when the cost center was last updated.
        description:
          type: string
          description: Description of the cost center
        is_external:
          type: boolean
          description: Unused. Reserved for future use.
          default: false
        name:
          type: string
      type: object
      required:
        - id
        - created_at
        - updated_at
      description: Represents a cost center retrieved from an accounting system.
    AccountingCostCenterUpdateRequest:
      properties:
        description:
          type: string
          maxLength: 2048
          description: Description of the cost center
        name:
          type: string
          maxLength: 500
          description: Name of the cost center
      type: object
      description: Schema for updating an existing cost center.
    AccountingCustomerRefObject:
      properties:
        id:
          type: string
          description: A unique identifier of the customer in the accounting system.
          example: "120"
        company_name:
          type: string
          description: Customer name in the accounting system.
          example: Acme Inc.
      type: object
      required:
        - id
    AccountingLineItem:
      properties:
        description:
          type: string
          description: The name or description of the product or service being invoiced.
          example: Logo design
        discount_amount:
          type: number
          description: Discount amount for this line item (if any).
        discount_percentage:
          type: number
          description: Discount percentage for this line item (if any).
        ledger_account_id:
          type: string
          description: ID of the ledger account associated with this line item. You can use `GET /ledger_accounts/{ledger_account_id}` to get further details about this ledger account.
        quantity:
          type: number
          description: The quantity of the product or service.
        tax_rate_ref:
          allOf:
            - $ref: '#/components/schemas/AccountingRefObject'
          description: An internal reference to the tax rate in the accounting system that the line item is linked to.
        unit_amount:
          type: number
          description: The cost per unit of the product or service.
      type: object
      description: Contains the details of an invoice line item retrieved from an accounting system.
    AccountingMessageResponse:
      properties:
        message:
          type: string
      type: object
      required:
        - message
    AccountingPayable:
      properties:
        id:
          type: string
          description: An internal identifier of the payable in the accounting system.
        amount_due:
          type: number
          description: Remaining amount to be paid.
        currency:
          type: string
          description: ISO-4217 currency code of the payable.
          example: EUR
        currency_rate:
          type: number
          description: Rate to convert the total amount of the transaction into the entity's base currency at the time of the transaction.
        due_date:
          anyOf:
            - type: string
              format: date-time
            - type: string
              format: date
          description: The payable's due date.
        invoice_number:
          type: string
          description: Invoice number of the payable.
        lines:
          items:
            $ref: '#/components/schemas/AccountingLineItem'
          type: array
        memo:
          type: string
          description: Any additional information or business notes about the payable.
        posted_date:
          type: string
          format: date
          description: Date when the payable was added to the accounting service. This may differ from the payable creation date.
        purchase_order_refs:
          items:
            $ref: '#/components/schemas/AccountingPurchaseOrderRef'
          type: array
          description: A list of purchase orders linked to the payable, if any.
        status:
          type: string
          description: 'The status of the payable in the accounting system. Possible values: `open`, `draft`, `partially_paid`, `paid`, `unknown`, `void`.'
          example: paid
        subtotal:
          type: number
          description: Amount payable, including discounts but excluding VAT/taxes.
        tax_amount:
          type: number
          description: Total VAT or tax amount.
        total_amount:
          type: number
          description: The total amount payable, including discounts and VAT/taxes.
        vendor_ref:
          allOf:
            - $ref: '#/components/schemas/AccountingVendorRefObject'
          description: Information about the vendor from whom the payable was received.
      type: object
      required:
        - id
        - status
        - total_amount
      description: Details of an accounts payable invoice (bill) retrieved from an accounting system.
    AccountingPayableList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/AccountingPayable'
          type: array
      type: object
      required:
        - data
    AccountingPurchaseOrderRef:
      properties:
        id:
          type: string
          description: An internal ID of the purchase order in the accounting system.
          example: "10"
        name:
          type: string
          description: Reference number of the purchase order.
          example: PO-1234
      type: object
      required:
        - id
    AccountingReceivable:
      properties:
        id:
          type: string
          description: An internal identifier of the invoice in the accounting system.
        currency:
          type: string
          description: ISO-4217 currency code of the invoice.
          example: EUR
        currency_rate:
          type: number
          description: Rate to convert the total amount of the transaction into the entity's base currency at the time of the transaction.
        customer_ref:
          allOf:
            - $ref: '#/components/schemas/AccountingCustomerRefObject'
          description: Information about the customer that the invoice was sent to.
        due_date:
          anyOf:
            - type: string
              format: date-time
            - type: string
              format: date
          description: Invoice due date.
        invoice_number:
          type: string
          description: Invoice document number.
        lines:
          items:
            $ref: '#/components/schemas/AccountingLineItem'
          type: array
        memo:
          type: string
          description: Any additional information or business notes about the invoice.
        pass_through:
          type: object
          description: An object containing additional invoice data returned by the accounting system. This sometimes includes custom invoice fields.
        posted_date:
          type: string
          format: date
          description: Date when the invoice was added to the accounting service. This may differ from the invoice creation date.
      type: object
      description: Invoice details retrieved from an accounting system.
    AccountingReceivableList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/AccountingReceivable'
          type: array
      type: object
      required:
        - data
    AccountingRefObject:
      properties:
        id:
          type: string
          description: An internal ID of the tax rate in the accounting system.
      type: object
    AccountingSettings:
      properties:
        ledger_account_ids:
          anyOf:
            - $ref: '#/components/schemas/DefaultLedgerAccountIDs'
            - type: "null"
          description: Default ledger accounts that will be used for various objects pushed into an accounting system. Use `GET /ledger_accounts` to get the IDs of these ledger accounts.
        tax_ids:
          anyOf:
            - $ref: '#/components/schemas/DefaultAccountingTaxIDs'
            - type: "null"
          description: Default accounting tax IDs that will be used for various objects pushed into an accounting system. Use `GET /accounting_tax_rates` to get the IDs of these taxes.
      additionalProperties: false
      type: object
    AccountingTaxRateCreateRequest:
      properties:
        code:
          type: string
          maxLength: 500
          description: A user-defined reference code by which the tax can be identified. This is similar to the codes used in accounting systems.
          examples:
            - vat-reduced
            - V1
        description:
          type: string
          maxLength: 2048
          description: An arbitrary description of the tax rate.
        effective_tax_rate:
          type: integer
          maximum: 10000
          minimum: 0
          description: The tax rate value as the percentage multiplied by 100. For example, 12.5% is represented as 1250.
        name:
          type: string
          maxLength: 500
          description: The display name of the tax rate.
          examples:
            - 20% (VAT on Income)
            - GST on Expenses
      type: object
      description: Schema for creating a new tax rate.
    AccountingTaxRateListResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/AccountingTaxRateResponse'
          type: array
        next_pagination_token:
          type: string
        prev_pagination_token:
          type: string
      type: object
      required:
        - data
    AccountingTaxRateResponse:
      properties:
        id:
          type: string
          format: uuid
          description: A unique Monite-generated ID assigned to this tax rate. You can use this ID as the value of the `accounting_tax_rate_id` field in line items of payables, receivables, and receipts.
        created_at:
          type: string
          format: date-time
          description: UTC date and time when this tax rate was created in Monite. Timestamps follow the ISO 8601 format.
        updated_at:
          type: string
          format: date-time
          description: UTC date and time when this tax rate was last updated in Monite.
        code:
          type: string
          description: The reference code of the tax rate.
        components:
          items:
            $ref: '#/components/schemas/TaxComponentResponse'
          type: array
          description: An array of tax components.
        description:
          type: string
          description: An arbitrary description of the tax rate.
        effective_tax_rate:
          type: integer
          description: |-
            The effective tax rate value as the percentage multiplied by 100. For example, 12.5% is represented as 1250.

            For manually created tax rates (`is_external`=`false`), this is the tax rate value defined by the user.

            For tax rates fetched from accounting systems (`is_external`=`true`), the effective tax rate is calculated based on the `components`.

             * In case of QuickBooks, `effective_tax_rate` is the same as `total_tax_rate` and is the sum of all tax components.
             * In case of Xero, the effective rate can be higher than the sum total.
               This happens in the _compounded_ tax rate scenarios, where multiple taxes are applied in a sequence
               and later taxes are applied to amounts that already include earlier taxes.
        is_external:
          type: boolean
          description: '`true` if this tax rate was fetched from the connected accounting system, or `false` if it was created manually by the entity.'
          default: false
        name:
          type: string
          description: The display name of the tax rate.
        status:
          type: string
        total_tax_rate:
          type: integer
          description: |-
            Used only in tax rates fetched from accounting systems (`is_external`=`true`). Specifies the total (not compounded) tax rate value as the sum of all components. The value is the percentage multiplied by 100. For example, 12.5% is represented as 1250.

            For QuickBoooks, `total_tax_rate` is the same as `effective_tax_rate`.
      type: object
      required:
        - id
        - created_at
        - updated_at
    AccountingTaxRateUpdateRequest:
      properties:
        code:
          type: string
          maxLength: 500
          description: The new reference code of the tax rate.
          examples:
            - vat-reduced
            - V1
        description:
          type: string
          maxLength: 2048
          description: The new description of the tax rate.
        effective_tax_rate:
          type: integer
          maximum: 10000
          minimum: 0
          description: The new tax rate value as the percentage multiplied by 100. For example, 12.5% is represented as 1250.
        name:
          type: string
          maxLength: 500
          description: The new display name of the tax rate.
          examples:
            - 20% (VAT on Income)
            - GST on Expenses
      type: object
      description: Schema for updating an existing tax rate.
    AccountingVendorRefObject:
      properties:
        id:
          type: string
          description: A unique identifier of the vendor in the accounting system.
          example: "120"
        name:
          type: string
          description: Vendor name in the accounting system.
          example: Acme Inc.
      type: object
      required:
        - id
    ActionEnum:
      type: string
      enum:
        - create
        - read
        - update
        - delete
    ActionSchema:
      properties:
        action_name:
          $ref: '#/components/schemas/ActionEnum'
          description: Action name
          default: read
        permission:
          $ref: '#/components/schemas/PermissionEnum'
          description: Permission type
          default: allowed
      type: object
    AddCustomTemplateSchema:
      properties:
        body_template:
          type: string
          minLength: 1
          description: Jinja2 compatible string with email body
        is_default:
          type: boolean
          description: Is default template
          default: false
        language:
          allOf:
            - $ref: '#/components/schemas/LanguageCodeEnum'
          description: Lowercase ISO code of language
          default: en
        name:
          type: string
          maxLength: 128
          minLength: 1
          description: Custom template name
        subject_template:
          type: string
          minLength: 1
          description: Jinja2 compatible string with email subject
        type:
          allOf:
            - $ref: '#/components/schemas/DocumentObjectTypeRequestEnum'
          description: Document type of content
      additionalProperties: false
      type: object
      required:
        - body_template
        - name
        - subject_template
        - type
    AggregationFunctionEnum:
      type: string
      enum:
        - count
        - average
        - summary
        - min
        - max
    AllDocumentExportResponseSchema:
      properties:
        data:
          items:
            $ref: '#/components/schemas/DocumentExportResponseSchema'
          type: array
          description: A set of export objects returned per page.
        next_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the next page of results. If there is no next page, i.e. you have reached the last page, the value is `null`.
        prev_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the previous page of results. If there is no previous page, i.e. you have reached the first page, the value is `null`.
      additionalProperties: false
      type: object
      required:
        - data
    AllOverdueRemindersResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/OverdueReminderResponse'
          type: array
      type: object
      required:
        - data
    AllowedCountries:
      type: string
      enum:
        - AF
        - AX
        - AL
        - DZ
        - AS
        - AD
        - AO
        - AI
        - AQ
        - AG
        - AR
        - AM
        - AW
        - AU
        - AT
        - AZ
        - BS
        - BH
        - BD
        - BB
        - BY
        - BE
        - BZ
        - BJ
        - BM
        - BT
        - BO
        - BA
        - BW
        - BV
        - BR
        - IO
        - BN
        - BG
        - BF
        - BI
        - KH
        - CM
        - CA
        - IC
        - CV
        - KY
        - CF
        - EA
        - TD
        - CL
        - CN
        - CX
        - CC
        - CO
        - KM
        - CG
        - CD
        - CK
        - CR
        - CI
        - HR
        - CU
        - CY
        - CZ
        - DK
        - DJ
        - DM
        - DO
        - EC
        - EG
        - SV
        - GQ
        - ER
        - EE
        - SZ
        - ET
        - FK
        - FO
        - FJ
        - FI
        - FR
        - GF
        - PF
        - TF
        - GA
        - GM
        - GE
        - DE
        - GH
        - GI
        - GR
        - GL
        - GD
        - GP
        - GU
        - GT
        - GG
        - GN
        - GW
        - GY
        - HT
        - HM
        - VA
        - HN
        - HK
        - HU
        - IS
        - IN
        - ID
        - IR
        - IQ
        - IE
        - IM
        - IL
        - IT
        - JM
        - JP
        - JE
        - JO
        - KZ
        - KE
        - KI
        - KP
        - KR
        - KW
        - KG
        - LA
        - LV
        - LB
        - LS
        - LR
        - LY
        - LI
        - LT
        - LU
        - MO
        - MG
        - MW
        - MY
        - MV
        - ML
        - MT
        - MH
        - MQ
        - MR
        - MU
        - YT
        - MX
        - FM
        - MD
        - MC
        - MN
        - ME
        - MS
        - MA
        - MZ
        - MM
        - NA
        - NR
        - NP
        - NL
        - AN
        - NC
        - NZ
        - NI
        - NE
        - NG
        - NU
        - NF
        - MP
        - MK
        - 'NO'
        - OM
        - PK
        - PW
        - PS
        - PA
        - PG
        - PY
        - PE
        - PH
        - PN
        - PL
        - PT
        - PR
        - QA
        - RE
        - RO
        - RU
        - RW
        - SH
        - KN
        - LC
        - PM
        - VC
        - WS
        - SM
        - ST
        - SA
        - SN
        - RS
        - SC
        - SL
        - SG
        - SK
        - SI
        - SB
        - SO
        - ZA
        - SS
        - GS
        - ES
        - LK
        - SD
        - SR
        - SJ
        - SE
        - CH
        - SY
        - TW
        - TJ
        - TZ
        - TH
        - TL
        - TG
        - TK
        - TO
        - TT
        - TN
        - TR
        - TM
        - TC
        - TV
        - UG
        - UA
        - AE
        - GB
        - US
        - UM
        - UY
        - UZ
        - VU
        - VE
        - VN
        - VG
        - VI
        - WF
        - EH
        - YE
        - ZM
        - ZW
        - BL
        - BQ
        - CW
        - MF
        - SX
    AllowedEinvoicingCountryCodes:
      type: string
      enum:
        - DE
        - NL
        - BE
    AllowedFileTypes:
      type: string
      enum:
        - ocr_results
        - ocr_files
        - payables
        - receivables
        - delivery_notes
        - receipts
        - userpics
        - entity_logo
        - companies_logo
        - zip
        - identity_documents
        - additional_identity_documents
        - receivable_signatures
        - einvoices_xml
        - attachments
    AnalyticsDataPoint:
      properties:
        dimension_value:
          type: string
        metric_value:
          type: number
      additionalProperties: false
      type: object
      required:
        - metric_value
    ApprovalPolicyCreate:
      properties:
        description:
          type: string
          maxLength: 255
          description: A brief description of the approval policy.
        ends_at:
          type: string
          format: date-time
          description: The date and time (in the ISO 8601 format) when the approval policy stops being active and stops triggering approval workflows.If `ends_at` is provided in the request, then `starts_at` must also be provided and `ends_at` must be later than `starts_at`. The value will be converted to UTC.
        name:
          type: string
          maxLength: 255
          description: The name of the approval policy.
        priority:
          type: integer
          maximum: 32767
          minimum: -32768
          description: The priority controls which approval policy takes precedence when a payable matches multiple approval policies. A higher value mean higher priority.
          default: 0
        script:
          items:
            anyOf:
              - type: boolean
              - type: number
                minimum: 1
              - type: string
              - items: {}
                type: array
              - type: object
          type: array
          description: A list of JSON objects that represents the approval policy script. The script contains the logic that determines whether an action should be sent to approval. This field is required, and it should contain at least one script object.
        starts_at:
          type: string
          format: date-time
          description: The date and time (in the ISO 8601 format) when the approval policy becomes active. Only payables submitted for approval during the policy's active period will trigger this policy. If omitted or `null`, the policy is effective immediately. The value will be converted to UTC.
        trigger:
          anyOf:
            - type: boolean
            - type: number
            - type: string
            - items: {}
              type: array
            - type: object
          description: A JSON object that represents the trigger for the approval policy. The trigger specifies the event that will trigger the policy to be evaluated.
          example: '{amount >= 1000}'
      additionalProperties: false
      type: object
      required:
        - name
        - script
    ApprovalPolicyCursorFields:
      type: string
      enum:
        - created_at
        - updated_at
    ApprovalPolicyResource:
      properties:
        id:
          type: string
          format: uuid
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        created_by:
          type: string
          format: uuid
        description:
          type: string
          maxLength: 255
          description: A brief description of the approval policy.
        ends_at:
          type: string
          format: date-time
          description: The date and time (in the ISO 8601 format) when the approval policy stops being active and stops triggering approval workflows.If `ends_at` is provided in the request, then `starts_at` must also be provided and `ends_at` must be later than `starts_at`. The value will be converted to UTC.
        name:
          type: string
          maxLength: 255
          description: The name of the approval policy.
        priority:
          type: integer
          maximum: 32767
          minimum: -32768
          description: The priority controls which approval policy takes precedence when a payable matches multiple approval policies. A higher value mean higher priority.
          default: 0
        script:
          items:
            anyOf:
              - type: boolean
              - type: number
                minimum: 1
              - type: string
              - items: {}
                type: array
              - type: object
          type: array
          description: A list of JSON objects that represents the approval policy script. The script contains the logic that determines whether an action should be sent to approval. This field is required, and it should contain at least one script object.
        starts_at:
          type: string
          format: date-time
          description: The date and time (in the ISO 8601 format) when the approval policy becomes active. Only payables submitted for approval during the policy's active period will trigger this policy. If omitted or `null`, the policy is effective immediately. The value will be converted to UTC.
        status:
          type: string
          enum:
            - active
            - pending
          description: The current status of the approval policy.
          example: active
        trigger:
          anyOf:
            - type: boolean
            - type: number
            - type: string
            - items: {}
              type: array
            - type: object
          description: A JSON object that represents the trigger for the approval policy. The trigger specifies the event that will trigger the policy to be evaluated.
          example: '{amount >= 1000}'
        updated_by:
          type: string
          format: uuid
      type: object
      required:
        - id
        - created_at
        - updated_at
        - created_by
        - name
        - script
        - status
    ApprovalPolicyResourceList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ApprovalPolicyResource'
          type: array
        next_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the next page of results, or `null` if there is no next page (i.e. you've reached the last page).
        prev_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the previous page of results, or `null` if there is no previous page (i.e. you've reached the first page).
      additionalProperties: false
      type: object
      required:
        - data
    ApprovalPolicyStatus:
      type: string
      enum:
        - active
        - deleted
        - pending
    ApprovalPolicyUpdate:
      properties:
        description:
          type: string
          description: A brief description of the approval policy.
        ends_at:
          type: string
          format: date-time
          description: The date and time (in the ISO 8601 format) when the approval policy stops being active and stops triggering approval workflows.If `ends_at` is provided in the request, then `starts_at` must also be provided and `ends_at` must be later than `starts_at`. The value will be converted to UTC.
        name:
          type: string
          description: The name of the approval policy.
        priority:
          type: integer
          maximum: 32767
          minimum: -32768
          description: The priority controls which approval policy takes precedence when a payable matches multiple approval policies. A higher value mean higher priority.
        script:
          items:
            anyOf:
              - type: boolean
              - type: number
                minimum: 1
              - type: string
              - items: {}
                type: array
              - type: object
          type: array
          description: A list of JSON objects that represents the approval policy script. The script contains the logic that determines whether an action should be sent to approval. This field is required, and it should contain at least one script object.
        starts_at:
          type: string
          format: date-time
          description: The date and time (in the ISO 8601 format) when the approval policy becomes active. Only payables submitted for approval during the policy's active period will trigger this policy. If omitted or `null`, the policy is effective immediately. The value will be converted to UTC.
        status:
          allOf:
            - $ref: '#/components/schemas/ApprovalPolicyStatus'
          description: A string that represents the current status of the approval policy.
        trigger:
          anyOf:
            - type: boolean
            - type: number
            - type: string
            - items: {}
              type: array
            - type: object
          description: A JSON object that represents the trigger for the approval policy. The trigger specifies the event that will trigger the policy to be evaluated.
          example: '{amount >= 1000}'
      additionalProperties: false
      type: object
    ApprovalProcessResourceList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ProcessResource'
          type: array
      type: object
      required:
        - data
    ApprovalProcessStepResource:
      properties:
        approval_request_id:
          type: string
          format: uuid
        approved_by:
          items:
            type: string
            format: uuid
          type: array
        object_id:
          type: string
          format: uuid
        rejected_by:
          type: string
          format: uuid
        required_approval_count:
          type: integer
          minimum: 1
        role_ids:
          items:
            type: string
            format: uuid
          type: array
        status:
          $ref: '#/components/schemas/ApprovalProcessStepStatus'
        user_ids:
          items:
            type: string
            format: uuid
          type: array
      type: object
      required:
        - approved_by
        - object_id
        - required_approval_count
        - role_ids
        - status
        - user_ids
    ApprovalProcessStepResourceList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ApprovalProcessStepResource'
          type: array
      type: object
      required:
        - data
    ApprovalProcessStepStatus:
      type: string
      enum:
        - waiting
        - approved
        - rejected
        - canceled
        - failed
        - not_started
        - skipped
    ApprovalRequestCreateByRoleRequest:
      properties:
        object_id:
          type: string
          format: uuid
        object_type:
          $ref: '#/components/schemas/ObjectType'
        required_approval_count:
          type: integer
          minimum: 1
        role_ids:
          items:
            type: string
            format: uuid
          type: array
      additionalProperties: false
      type: object
      required:
        - object_id
        - object_type
        - required_approval_count
        - role_ids
    ApprovalRequestCreateByUserRequest:
      properties:
        object_id:
          type: string
          format: uuid
        object_type:
          $ref: '#/components/schemas/ObjectType'
        required_approval_count:
          type: integer
          minimum: 1
        user_ids:
          items:
            type: string
            format: uuid
          type: array
      additionalProperties: false
      type: object
      required:
        - object_id
        - object_type
        - required_approval_count
        - user_ids
    ApprovalRequestCreateRequest:
      anyOf:
        - $ref: '#/components/schemas/ApprovalRequestCreateByRoleRequest'
        - $ref: '#/components/schemas/ApprovalRequestCreateByUserRequest'
      additionalProperties: false
    ApprovalRequestCursorFields:
      type: string
      enum:
        - created_at
        - updated_at
    ApprovalRequestResourceList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ApprovalRequestResourceWithMetadata'
          type: array
        next_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the next page of results, or `null` if there is no next page (i.e. you've reached the last page).
        prev_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the previous page of results, or `null` if there is no previous page (i.e. you've reached the first page).
      additionalProperties: false
      type: object
      required:
        - data
    ApprovalRequestResourceWithMetadata:
      properties:
        id:
          type: string
          format: uuid
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        approved_by:
          items:
            type: string
            format: uuid
          type: array
        created_by:
          type: string
          format: uuid
          description: ID of the user who created the approval request
          example: ea837e28-509b-4b6a-a600-d54b6aa0b1f5
        object_id:
          type: string
          format: uuid
        object_type:
          $ref: '#/components/schemas/ObjectType'
        rejected_by:
          type: string
          format: uuid
        required_approval_count:
          type: integer
          minimum: 1
        role_ids:
          items:
            type: string
            format: uuid
          type: array
        status:
          $ref: '#/components/schemas/ApprovalRequestStatus'
        user_ids:
          items:
            type: string
            format: uuid
          type: array
      type: object
      required:
        - id
        - created_at
        - updated_at
        - approved_by
        - created_by
        - object_id
        - object_type
        - required_approval_count
        - role_ids
        - status
        - user_ids
    ApprovalRequestStatus:
      type: string
      enum:
        - waiting
        - approved
        - rejected
        - canceled
    AttachmentRequest:
      properties:
        id:
          type: string
          format: uuid
          description: Unique ID of the file with file_type=attachment from /v1/files.
        include_in_email:
          type: boolean
          description: Indicates whether the file would be included in the email.
          default: false
      additionalProperties: false
      type: object
      required:
        - id
    AttachmentResponse:
      properties:
        id:
          type: string
          format: uuid
          description: Unique ID of the file with file_type=attachment from /v1/files.
        include_in_email:
          type: boolean
          description: Indicates whether the file would be included in the email.
          default: false
        mimetype:
          type: string
          description: The file's media type, for example, `application/pdf` or `image/png`.
          examples:
            - application/pdf
        name:
          type: string
          description: The original file name (if available).
          examples:
            - timesheet.pdf
        size:
          type: integer
          description: The file size in bytes.
          examples:
            - 120101
        url:
          type: string
          description: The URL to download the file.
          examples:
            - https://bucketname.s3.amazonaws.com/path/to/timesheet.pdf
      type: object
      required:
        - id
        - mimetype
        - name
        - size
        - url
    AutomationLevel:
      type: string
      enum:
        - draft
        - issue
        - issue_and_send
      description: Automation level for recurrence
    BankAccount:
      properties:
        id:
          type: string
          format: uuid
          description: The ID of the bank account.
        account_holder_name:
          type: string
          description: The name of the person or business that owns this bank account.
          examples:
            - Bob Jones
        account_number:
          type: string
          description: The bank account number. Typically used for UK and US bank accounts. US account numbers contain 9 to 12 digits. UK account numbers typically contain 8 digits.
          examples:
            - "12345678"
        bic:
          type: string
          maxLength: 11
          description: The BIC/SWIFT code of the bank.
          examples:
            - DEUTDEFFXXX
        country:
          allOf:
            - $ref: '#/components/schemas/AllowedCountries'
          description: The country in which the bank account is registered, repsesented as a two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
          examples:
            - DE
        currency:
          allOf:
            - $ref: '#/components/schemas/CurrencyEnum'
          description: The currency of the bank account, represented as a three-letter ISO [currency code](https://docs.monite.com/references/currencies).
          examples:
            - EUR
        display_name:
          type: string
          maxLength: 200
          description: User-defined name of this bank account, such as 'Primary account' or 'Savings account'. Used only for entity bank accounts.
          examples:
            - Primary account
        iban:
          type: string
          maxLength: 34
          description: The IBAN of the bank account.
          examples:
            - DE74500700100100000900
        is_default:
          type: boolean
          description: Indicates whether this bank account is the default one for its currency.
          default: false
        name:
          type: string
          maxLength: 200
          description: User-defined name of this bank account, such as 'Primary account' or 'Savings account'. Used only for counterpart bank accounts.
          examples:
            - Primary account
        routing_number:
          type: string
          description: The bank's routing transit number (RTN). Typically used for US banks. US routing numbers consist of 9 digits.
        sort_code:
          type: string
          description: The bank's sort code. Typically used for UK banks.
          examples:
            - "123456"
        was_created_by_user_id:
          type: string
          format: uuid
          description: ID of the entity user who added this bank account, or `null` if it was added using a partner access token. Used only for entity bank accounts.
      type: object
      required:
        - id
    BankAccountPaymentMethod:
      properties:
        details:
          $ref: '#/components/schemas/BankAccountPaymentMethodDetails'
        type:
          type: string
          enum:
            - bank_account
      type: object
      required:
        - details
        - type
    BankAccountPaymentMethodDetails:
      properties:
        account_holder_name:
          type: string
          description: The name of the person or business that owns this bank account.
          examples:
            - Bob Jones
        account_number:
          type: string
          description: The bank account number. US account numbers contain 9 to 12 digits. UK account numbers typically contain 8 digits.
          examples:
            - "12345678"
        bic:
          type: string
          maxLength: 11
          description: The SWIFT/BIC code of the bank. Can be either 8 or 11 characters long.
          examples:
            - DEUTDEFFXXX
        currency:
          allOf:
            - $ref: '#/components/schemas/CurrencyEnum'
          description: ISO currency code of the bank account.
        iban:
          type: string
          maxLength: 34
          description: The IBAN of the bank account, up to 34 characters.
          examples:
            - DE74500700100100000900
        name:
          type: string
          maxLength: 200
          description: The name of the bank account, if available. For example, "Primary account" or "Savings account".
        routing_number:
          type: string
          description: The bank's routing transit number (RTN). US routing numbers consist of 9 digits.
        sort_code:
          type: string
          description: The bank's sort code.
          examples:
            - "123456"
      type: object
    BasedOnReceivableCreatedEventData:
      properties:
        receivable_id:
          type: string
          format: uuid
          description: The ID of the newly created receivable document.
          examples:
            - 1531cf6e-52f5-4203-acb2-7cc3a37660c6
        type:
          allOf:
            - $ref: '#/components/schemas/ReceivableType'
          description: The type of the receivable document that was created based on the current document.
      additionalProperties: false
      type: object
      required:
        - receivable_id
        - type
      description: |-
        In invoice history, this object contains information about a credit note created for this invoice.
        In quote history, it contains information about an invoice created from this quote.
    BasedOnTransitionType:
      type: string
      enum:
        - invoice
        - credit_note
    BizObjectsSchema-Input:
      properties:
        objects:
          items:
            $ref: '#/components/schemas/RootSchema-Input'
          type: array
          description: List of objects
      additionalProperties: false
      type: object
    BizObjectsSchema-Output:
      properties:
        objects:
          items:
            $ref: '#/components/schemas/RootSchema-Output'
          type: array
          description: List of objects
      additionalProperties: false
      type: object
    Body_put_entities_id_logo:
      properties:
        file:
          type: string
          format: binary
      type: object
      required:
        - file
    BusinessInfoSchema:
      properties:
        base_currency:
          type: string
        email:
          type: string
        legal_name:
          type: string
        name:
          type: string
        type:
          type: string
      type: object
    BusinessProfile-Input:
      properties:
        description_of_goods_or_services:
          anyOf:
            - type: string
              maxLength: 500
              minLength: 1
            - type: "null"
          description: Required for US entities. A free-form description of the products the entity sells (whether online or at offline retail stores) or the services it provides to its customers.
          examples:
            - Acme Inc. is an online computer store that offers a wide range of computer products, laptops, smartphones, tablets, accessories, and more.
        estimated_monthly_revenue:
          anyOf:
            - $ref: '#/components/schemas/EstimatedMonthlyRevenue'
            - type: "null"
          description: Required for US entities. The approximate revenue that the business generates per month.
        mcc:
          anyOf:
            - type: string
              maxLength: 4
              minLength: 4
            - type: "null"
          description: The merchant category code of the entity. MCCs are used to classify businesses based on the goods or services they provide.
          examples:
            - "5734"
        operating_countries:
          anyOf:
            - items:
                $ref: '#/components/schemas/AllowedCountries'
              type: array
            - type: "null"
          description: Required for US entities. A list of primary countries where the business conducts its operations, such as selling products or providing services. Use two-letter country codes (ISO 3166-2 alpha-2).
        url:
          anyOf:
            - type: string
              minLength: 1
              format: uri
            - type: "null"
          description: The business's publicly available website.
      additionalProperties: false
      type: object
    BusinessProfile-Output:
      properties:
        description_of_goods_or_services:
          anyOf:
            - type: string
              maxLength: 500
              minLength: 1
            - type: "null"
          description: Required for US entities. A free-form description of the products the entity sells (whether online or at offline retail stores) or the services it provides to its customers.
          examples:
            - Acme Inc. is an online computer store that offers a wide range of computer products, laptops, smartphones, tablets, accessories, and more.
        estimated_monthly_revenue:
          anyOf:
            - $ref: '#/components/schemas/EstimatedMonthlyRevenue'
            - type: "null"
          description: Required for US entities. The approximate revenue that the business generates per month.
        mcc:
          anyOf:
            - type: string
              maxLength: 4
              minLength: 4
            - type: "null"
          description: The merchant category code of the entity. MCCs are used to classify businesses based on the goods or services they provide.
          examples:
            - "5734"
        operating_countries:
          anyOf:
            - items:
                $ref: '#/components/schemas/AllowedCountries'
              type: array
            - type: "null"
          description: Required for US entities. A list of primary countries where the business conducts its operations, such as selling products or providing services. Use two-letter country codes (ISO 3166-2 alpha-2).
        url:
          anyOf:
            - type: string
              minLength: 1
              format: uri
            - type: "null"
          description: The business's publicly available website.
      additionalProperties: false
      type: object
    ButtonTheme:
      properties:
        primary_color:
          anyOf:
            - type: string
              format: color
            - type: "null"
        primary_hover_color:
          anyOf:
            - type: string
              format: color
            - type: "null"
          description: Unused.
        secondary_color:
          anyOf:
            - type: string
              format: color
            - type: "null"
          description: Unused.
        secondary_hover_color:
          anyOf:
            - type: string
              format: color
            - type: "null"
          description: Unused.
      type: object
    CardPaymentMethod:
      properties:
        details:
          $ref: '#/components/schemas/CardPaymentMethodDetails'
        type:
          type: string
          enum:
            - card
      type: object
      required:
        - details
        - type
    CardPaymentMethodDetails:
      properties:
        brand:
          type: string
          maxLength: 32
          description: The card brand name.
        card_type:
          allOf:
            - $ref: '#/components/schemas/CardTypeEnum'
          description: The card type
        expiry_month:
          type: integer
          maximum: 12
          minimum: 1
          description: The card's expiration month (1 - January, 12 - December).
        expiry_year:
          type: integer
          maximum: 2099
          exclusiveMinimum: 2001
          description: The card's expiration year.
        last4:
          type: string
          maxLength: 4
          minLength: 4
          description: The last four digits of the card number.
          examples:
            - 1234
      type: object
      required:
        - brand
        - card_type
        - expiry_month
        - expiry_year
        - last4
    CardTheme:
      properties:
        background_color:
          anyOf:
            - type: string
              format: color
            - type: "null"
      type: object
    CardTypeEnum:
      type: string
      enum:
        - credit
        - debit
        - prepaid
        - unknown
    CommentCreateRequest:
      properties:
        object_id:
          type: string
          format: uuid
        object_type:
          type: string
        reply_to_entity_user_id:
          type: string
          format: uuid
        text:
          type: string
      additionalProperties: false
      type: object
      required:
        - object_id
        - object_type
        - text
    CommentCursorFields:
      type: string
      enum:
        - id
    CommentPayload:
      properties:
        comment:
          type: string
          description: An arbitrary comment that describes how and when this payable was paid.
      additionalProperties: false
      type: object
    CommentResource:
      properties:
        id:
          type: string
          format: uuid
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        created_by_entity_user_id:
          type: string
          format: uuid
        entity_id:
          type: string
          format: uuid
        object_id:
          type: string
          format: uuid
        object_type:
          type: string
        reply_to_entity_user_id:
          type: string
          format: uuid
        status:
          $ref: '#/components/schemas/StatusEnum'
        text:
          type: string
      type: object
      required:
        - id
        - created_by_entity_user_id
        - entity_id
        - object_id
        - object_type
        - status
        - text
    CommentResourceList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/CommentResource'
          type: array
        next_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the next page of results, or `null` if there is no next page (i.e. you've reached the last page).
        prev_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the previous page of results, or `null` if there is no previous page (i.e. you've reached the first page).
      additionalProperties: false
      type: object
      required:
        - data
    CommentUpdateRequest:
      properties:
        reply_to_entity_user_id:
          type: string
          format: uuid
        text:
          type: string
      additionalProperties: false
      type: object
    CommonSchema-Input:
      properties:
        actions:
          items:
            $ref: '#/components/schemas/ActionSchema'
          type: array
          description: List of actions
        object_type:
          type: string
          enum:
            - person
            - onboarding
            - comment
            - counterpart
            - entity_user
            - entity
            - entity_vat_ids
            - counterpart_vat_id
            - entity_bank_account
            - export
            - mailbox
            - payables_purchase_order
            - payment_reminder
            - overdue_reminder
            - product
            - project
            - receivable
            - delivery_note
            - ocr_task
            - reconciliation
            - role
            - tag
            - todo_task
            - todo_task_mute
            - transaction
            - workflow
            - approval_request
            - approval_policy
            - payment_record
            - receipt
            - accounting_tax_rate
            - ledger_account
            - cost_center
          description: Object type
          default: comment
      additionalProperties: false
      type: object
    CommonSchema-Output:
      properties:
        actions:
          items:
            $ref: '#/components/schemas/ActionSchema'
          type: array
          description: List of actions
        object_type:
          type: string
          enum:
            - person
            - onboarding
            - comment
            - counterpart
            - entity_user
            - entity
            - entity_vat_ids
            - counterpart_vat_id
            - entity_bank_account
            - export
            - mailbox
            - payables_purchase_order
            - payment_reminder
            - overdue_reminder
            - product
            - project
            - receivable
            - delivery_note
            - ocr_task
            - reconciliation
            - role
            - tag
            - todo_task
            - todo_task_mute
            - transaction
            - workflow
            - approval_request
            - approval_policy
            - payment_record
            - receipt
            - accounting_tax_rate
            - ledger_account
            - cost_center
          description: Object type
          default: comment
      additionalProperties: false
      type: object
    ConnectionStatus:
      type: string
      enum:
        - connected
        - disconnected
        - deauthorized
        - pending_auth
    CounterpartAddress:
      properties:
        city:
          type: string
          maxLength: 255
          description: City name.
          example: Berlin
        country:
          allOf:
            - $ref: '#/components/schemas/AllowedCountries'
          description: Two-letter ISO country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
          example: DE
        line1:
          type: string
          maxLength: 255
          description: Street address.
          example: Flughafenstrasse 52
        line2:
          type: string
          maxLength: 255
          description: Additional address information (if any).
        postal_code:
          type: string
          maxLength: 255
          description: ZIP or postal code.
          example: "10115"
        state:
          type: string
          maxLength: 255
          description: State, county, province, prefecture, region, or similar component of the counterpart's address. For US counterparts, `state` is required and must be a two-letter [USPS state abbreviation](https://pe.usps.com/text/pub28/28apb.htm), for example, NY or CA.
      additionalProperties: false
      type: object
      required:
        - city
        - country
        - line1
        - postal_code
      description: Address information.
    CounterpartAddressResourceList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/CounterpartAddressResponseWithCounterpartID'
          type: array
      additionalProperties: false
      type: object
      required:
        - data
    CounterpartAddressResponseWithCounterpartID:
      properties:
        id:
          type: string
          format: uuid
          description: Unique ID of the address in the system
        city:
          type: string
          maxLength: 255
          description: City name.
          example: Berlin
        counterpart_id:
          type: string
          format: uuid
          description: ID of the counterpart that owns the address.
        country:
          allOf:
            - $ref: '#/components/schemas/AllowedCountries'
          description: Two-letter ISO country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
          example: DE
        line1:
          type: string
          maxLength: 255
          description: Street address.
          example: Flughafenstrasse 52
        line2:
          type: string
          maxLength: 255
          description: Additional address information (if any).
        postal_code:
          type: string
          maxLength: 255
          description: ZIP or postal code.
          example: "10115"
        state:
          type: string
          maxLength: 255
          description: State, region, province, or county.
      type: object
      required:
        - id
        - city
        - counterpart_id
        - country
        - line1
        - postal_code
      description: Address information.
    CounterpartBankAccountResourceList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/CounterpartBankAccountResponse'
          type: array
      type: object
      required:
        - data
    CounterpartBankAccountResponse:
      properties:
        id:
          type: string
          format: uuid
        account_holder_name:
          type: string
          description: The name of the person or business that owns this bank account. Required for US bank accounts to accept ACH payments.
          example: Bob Jones
        account_number:
          type: string
          description: The bank account number. Required for US bank accounts to accept ACH payments. US account numbers contain 9 to 12 digits. UK account numbers typically contain 8 digits.
          example: "12345678"
        bic:
          type: string
          maxLength: 11
          description: The BIC/SWIFT code of the bank.
          example: DEUTDEFFXXX
        counterpart_id:
          type: string
          format: uuid
        country:
          $ref: '#/components/schemas/AllowedCountries'
        currency:
          $ref: '#/components/schemas/CurrencyEnum'
        iban:
          type: string
          maxLength: 34
          description: The IBAN of the bank account.
          example: DE74500700100100000900
        is_default_for_currency:
          type: boolean
          default: false
        name:
          type: string
          maxLength: 200
        open_banking_verification_error:
          type: string
          description: Last verification error message
        open_banking_verification_status:
          allOf:
            - $ref: '#/components/schemas/OpenBankingVerificationStatusEnum'
          description: Open banking verification status
        partner_metadata:
          type: object
          description: Metadata for partner needs.
        routing_number:
          type: string
          description: The bank's routing transit number (RTN). Required for US bank accounts to accept ACH payments. US routing numbers consist of 9 digits.
        sort_code:
          type: string
          description: The bank's sort code.
          example: "123456"
      type: object
      required:
        - id
        - counterpart_id
        - country
        - currency
        - open_banking_verification_status
    CounterpartContactResponse:
      properties:
        id:
          type: string
          format: uuid
          description: A unique ID assigned to this counterpart contact.
        address:
          allOf:
            - $ref: '#/components/schemas/CounterpartAddress'
          description: The address of a contact person.
        counterpart_id:
          type: string
          format: uuid
          description: ID of the counterpart to which this contact belongs.
        email:
          type: string
          format: email
          description: The email address of a contact person.
          example: contact@example.org
        first_name:
          type: string
          maxLength: 100
          description: The first name of a contact person.
          example: Mary
        is_default:
          type: boolean
          description: |-
            Indicates whether this contact is the default one. The default contact is used to fill in the counterpart's contact details when you create invoices and quotes for this counterpart.

            To select another contact as the default one, use [`POST /counterparts/{counterpart_id}/contacts/{contact_id}/make_default`](https://docs.monite.com/api/counterpart-contacts/post-counterparts-id-contacts-id-make-default).
        last_name:
          type: string
          maxLength: 100
          description: The last name of a contact person.
          example: O'Brien
        phone:
          type: string
          maxLength: 100
          description: The phone number of a contact person
          example: "5551235476"
        title:
          type: string
          maxLength: 100
          description: 'The title or honorific of a contact person. Examples: Mr., Ms., Dr., Prof.'
          example: Ms.
      type: object
      required:
        - id
        - address
        - counterpart_id
        - first_name
        - is_default
        - last_name
      description: The contact person for an organization.
    CounterpartContactsResourceList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/CounterpartContactResponse'
          type: array
      additionalProperties: false
      type: object
      required:
        - data
    CounterpartCreatePayload:
      anyOf:
        - $ref: '#/components/schemas/CounterpartOrganizationRootCreatePayload'
        - $ref: '#/components/schemas/CounterpartIndividualRootCreatePayload'
      additionalProperties: false
      description: |-
        This schema is used to create new counterparts (either organizations or individuals).
        The counterpart type is specified by the `type` property. Depending on the `type`,
        you need to provide the data for either the `individual` or `organization` property.
    CounterpartCursorFields:
      type: string
      enum:
        - counterpart_name
    CounterpartEinvoicingCredentialExistenceResponse:
      properties:
        exists:
          type: boolean
          description: '`true` is the specified identifier is registered as a receiver in PEPPOL, and `false` otherwise.'
      additionalProperties: false
      type: object
      required:
        - exists
    CounterpartEinvoicingCredentialResponse:
      properties:
        id:
          type: string
          format: uuid
        network_identifier:
          type: string
          maxLength: 255
          minLength: 1
        network_schema:
          $ref: '#/components/schemas/EinvoiceSchemaTypeEnum'
      type: object
      required:
        - id
        - network_identifier
        - network_schema
    CounterpartEinvoicingCredentialResponseList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/CounterpartEinvoicingCredentialResponse'
          type: array
      additionalProperties: false
      type: object
      required:
        - data
    CounterpartEinvoicingCredentialSchema:
      properties:
        network_identifier:
          type: string
          maxLength: 255
          minLength: 1
        network_schema:
          $ref: '#/components/schemas/EinvoiceSchemaTypeEnum'
      additionalProperties: false
      type: object
      required:
        - network_identifier
        - network_schema
    CounterpartFields:
      properties:
        tax_id:
          allOf:
            - $ref: '#/components/schemas/FieldSchema'
          description: Object describing the required field `tax_id` of an counterpart
          default:
            description: The counterpart's taxpayer identification number or tax ID. For identification purposes, this field may be required for counterparts that are not VAT-registered.
            required: false
        vat_id:
          allOf:
            - $ref: '#/components/schemas/FieldSchema'
          description: Object describing the required field `vat_id` of an counterpart
          default:
            description: The counterpart's VAT (Value Added Tax) identification number. This field is required for counterparts that are VAT-registered.
            required: false
      additionalProperties: false
      type: object
    CounterpartIndividualCreatePayload:
      properties:
        address:
          allOf:
            - $ref: '#/components/schemas/CounterpartAddress'
          description: The person's address.
        email:
          type: string
          format: email
          description: The person's email address.
          example: asingh@example.net
        first_name:
          type: string
          maxLength: 255
          minLength: 1
          description: The person's first name.
          example: Adnan
        is_customer:
          type: boolean
          description: Indicates if the counterpart is a customer.
        is_vendor:
          type: boolean
          description: Indicates if the counterpart is a vendor.
        last_name:
          type: string
          maxLength: 255
          minLength: 1
          description: The person's last name.
          example: Singh
        phone:
          type: string
          maxLength: 100
          description: The person's phone number.
          example: "5553211234"
        tag_ids:
          items:
            type: string
            format: uuid
          type: array
          description: A list of IDs of user-defined tags (labels) assigned to this counterpart.
        title:
          type: string
          maxLength: 100
          description: 'The person''s title or honorific. Examples: Mr., Ms., Dr., Prof.'
          example: Mr.
      additionalProperties: false
      type: object
      required:
        - address
        - first_name
        - is_customer
        - is_vendor
        - last_name
      description: Represents counterparts that are individuals (natural persons).
    CounterpartIndividualResponse:
      properties:
        email:
          type: string
          format: email
          description: The person's email address.
          example: asingh@example.net
        first_name:
          type: string
          minLength: 1
          description: The person's first name.
          example: Adnan
        is_customer:
          type: boolean
          description: Indicates if the counterpart is a customer.
        is_vendor:
          type: boolean
          description: Indicates if the counterpart is a vendor.
        last_name:
          type: string
          minLength: 1
          description: The person's last name.
          example: Singh
        phone:
          type: string
          description: The person's phone number.
          example: "5553211234"
        tags:
          items:
            $ref: '#/components/schemas/CounterpartTagSchema'
          type: array
          description: The list of tags for this counterpart.
        title:
          type: string
          description: 'The person''s title or honorific. Examples: Mr., Ms., Dr., Prof.'
          example: Mr.
      type: object
      required:
        - first_name
        - is_customer
        - is_vendor
        - last_name
      description: Represents counterparts that are individuals (natural persons).
    CounterpartIndividualRootCreatePayload:
      properties:
        external_reference:
          type: string
          maxLength: 255
          minLength: 1
          description: A user-defined identifier of the counterpart. For example, the customer or vendor reference number in the entity's CRM system. If specified, it will be displayed in PDF invoices and other accounts receivable documents created by the entity.
          examples:
            - CR-ABC-12345
            - CUS123456
        individual:
          $ref: '#/components/schemas/CounterpartIndividualCreatePayload'
        language:
          allOf:
            - $ref: '#/components/schemas/LanguageCodeEnum'
          description: The language used to generate PDF documents for this counterpart.
          default: en
        reminders_enabled:
          type: boolean
          default: true
        tax_id:
          type: string
          maxLength: 30
          description: The counterpart's taxpayer identification number or tax ID. For identification purposes, this field may be required for counterparts that are not VAT-registered.
        type:
          type: string
          enum:
            - individual
          description: Must be "individual".
          example: individual
      additionalProperties: false
      type: object
      required:
        - individual
        - type
      description: This schema is used to create counterparts that are individuals (natural persons).
    CounterpartIndividualRootResponse:
      properties:
        id:
          type: string
          format: uuid
          description: Unique ID of the counterpart.
        created_at:
          type: string
          format: date-time
          description: Date and time when the counterpart was created. Timestamps follow the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) standard.
        updated_at:
          type: string
          format: date-time
          description: Date and time when the counterpart was last updated. Timestamps follow the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) standard.
        created_automatically:
          type: boolean
          description: '`true` if the counterpart was created automatically by Monite when processing incoming invoices with OCR. `false` if the counterpart was created by the API client.'
          default: false
        created_by_entity_user_id:
          type: string
          format: uuid
          description: Entity user ID of counterpart creator.
        default_billing_address_id:
          type: string
          format: uuid
          description: ID of the counterpart's billing address. If the counterpart is US-based and needs to accept ACH payments, this address must have all fields filled in. If `default_billing_address_id` is not defined, the default address is instead used as the billing address for ACH payments.
        default_shipping_address_id:
          type: string
          format: uuid
          description: ID of the shipping address.
        external_reference:
          type: string
          maxLength: 255
          minLength: 1
          description: A user-defined identifier of the counterpart. For example, the customer or vendor reference number in the entity's CRM system. If specified, it will be displayed in PDF invoices and other accounts receivable documents created by the entity.
          example: "123456789"
        individual:
          $ref: '#/components/schemas/CounterpartIndividualResponse'
        language:
          allOf:
            - $ref: '#/components/schemas/LanguageCodeEnum'
          description: The language used to generate PDF documents for this counterpart.
        reminders_enabled:
          type: boolean
        tax_id:
          type: string
          maxLength: 30
          description: The counterpart's taxpayer identification number or tax ID.
        type:
          allOf:
            - $ref: '#/components/schemas/CounterpartType'
          description: 'The counterpart type: `organization` (juridical person) or `individual` (natural person).'
      type: object
      required:
        - id
        - created_at
        - updated_at
        - individual
        - type
      description: Represents counterparts that are individuals (natural persons).
    CounterpartIndividualRootUpdatePayload:
      properties:
        default_billing_address_id:
          type: string
          format: uuid
          description: ID of the counterpart's billing address. If the counterpart is US-based and needs to accept ACH payments, this address must have all fields filled in. If `default_billing_address_id` is not defined, the default address is instead used as the billing address for ACH payments.
        default_shipping_address_id:
          type: string
          format: uuid
          description: ID of the shipping address.
        external_reference:
          type: string
          maxLength: 255
          minLength: 1
          description: A user-defined identifier of the counterpart. For example, the customer or vendor reference number in the entity's CRM system. If specified, it will be displayed in PDF invoices and other accounts receivable documents created by the entity.
          example: "123456789"
        individual:
          $ref: '#/components/schemas/CounterpartIndividualUpdatePayload'
        language:
          allOf:
            - $ref: '#/components/schemas/LanguageCodeEnum'
          description: The language used to generate PDF documents for this counterpart.
        reminders_enabled:
          type: boolean
        tax_id:
          type: string
          maxLength: 30
          description: The counterpart's taxpayer identification number or tax ID. For identification purposes, this field may be required for counterparts that are not VAT-registered.
      additionalProperties: false
      type: object
      required:
        - individual
      description: Represents counterparts that are individuals (natural persons).
    CounterpartIndividualUpdatePayload:
      properties:
        email:
          type: string
          format: email
          description: The person's email address.
          example: asingh@example.net
        first_name:
          type: string
          maxLength: 255
          minLength: 1
          description: The person's first name.
          example: Adnan
        is_customer:
          type: boolean
          description: Indicates if the counterpart is a customer.
        is_vendor:
          type: boolean
          description: Indicates if the counterpart is a vendor.
        last_name:
          type: string
          maxLength: 255
          minLength: 1
          description: The person's last name.
          example: Singh
        phone:
          type: string
          maxLength: 100
          description: The person's phone number.
          example: "5553211234"
        tag_ids:
          items:
            type: string
            format: uuid
          type: array
          description: A list of IDs of user-defined tags (labels) assigned to this counterpart.
        title:
          type: string
          maxLength: 100
          description: 'The person''s title or honorific. Examples: Mr., Ms., Dr., Prof.'
          example: Mr.
      additionalProperties: false
      type: object
      description: Represents counterparts that are individuals (natural persons).
    CounterpartOrganizationCreatePayload:
      properties:
        address:
          allOf:
            - $ref: '#/components/schemas/CounterpartAddress'
          description: The address of the organization.
        email:
          type: string
          format: email
          description: The email address of the organization
          example: acme@example.com
        is_customer:
          type: boolean
          description: Indicates if the counterpart is a customer.
        is_vendor:
          type: boolean
          description: Indicates if the counterpart is a vendor.
        legal_name:
          type: string
          maxLength: 255
          description: The legal name of the organization.
          example: Acme Inc.
        phone:
          type: string
          maxLength: 100
          description: The phone number of the organization
          example: "5551231234"
        tag_ids:
          items:
            type: string
            format: uuid
          type: array
          description: A list of IDs of user-defined tags (labels) assigned to this counterpart.
      type: object
      required:
        - address
        - is_customer
        - is_vendor
        - legal_name
      description: Represents counterparts that are organizations (juridical persons).
    CounterpartOrganizationResponse:
      properties:
        email:
          type: string
          format: email
          description: The email address of the organization
          example: acme@example.com
        is_customer:
          type: boolean
          description: Indicates if the counterpart is a customer.
        is_vendor:
          type: boolean
          description: Indicates if the counterpart is a vendor.
        legal_name:
          type: string
          description: The legal name of the organization.
          example: Acme Inc.
        phone:
          type: string
          description: The phone number of the organization
          example: "5551231234"
        tags:
          items:
            $ref: '#/components/schemas/CounterpartTagSchema'
          type: array
          description: The list of tags for this counterpart.
      type: object
      required:
        - is_customer
        - is_vendor
        - legal_name
      description: Represents counterparts that are organizations (juridical persons).
    CounterpartOrganizationRootCreatePayload:
      properties:
        external_reference:
          type: string
          maxLength: 255
          minLength: 1
          description: A user-defined identifier of the counterpart. For example, the customer or vendor reference number in the entity's CRM system. If specified, it will be displayed in PDF invoices and other accounts receivable documents created by the entity.
          example: "123456789"
        language:
          allOf:
            - $ref: '#/components/schemas/LanguageCodeEnum'
          description: The language used to generate PDF documents for this counterpart.
          default: en
        organization:
          $ref: '#/components/schemas/CounterpartOrganizationCreatePayload'
        reminders_enabled:
          type: boolean
          default: true
        tax_id:
          type: string
          maxLength: 30
          description: The counterpart's taxpayer identification number or tax ID. For identification purposes, this field may be required for counterparts that are not VAT-registered.
        type:
          type: string
          enum:
            - organization
          description: Must be "organization".
          example: organization
      additionalProperties: false
      type: object
      required:
        - organization
        - type
      description: This schema is used to create counterparts that are organizations (juridical persons).
    CounterpartOrganizationRootResponse:
      properties:
        id:
          type: string
          format: uuid
          description: Unique ID of the counterpart.
        created_at:
          type: string
          format: date-time
          description: Date and time when the counterpart was created. Timestamps follow the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) standard.
        updated_at:
          type: string
          format: date-time
          description: Date and time when the counterpart was last updated. Timestamps follow the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) standard.
        created_automatically:
          type: boolean
          description: '`true` if the counterpart was created automatically by Monite when processing incoming invoices with OCR. `false` if the counterpart was created by the API client.'
          default: false
        created_by_entity_user_id:
          type: string
          format: uuid
          description: Entity user ID of counterpart creator.
        default_billing_address_id:
          type: string
          format: uuid
          description: ID of the counterpart's billing address. If the counterpart is US-based and needs to accept ACH payments, this address must have all fields filled in. If `default_billing_address_id` is not defined, the default address is instead used as the billing address for ACH payments.
        default_shipping_address_id:
          type: string
          format: uuid
          description: ID of the shipping address.
        external_reference:
          type: string
          maxLength: 255
          minLength: 1
          description: A user-defined identifier of the counterpart. For example, the customer or vendor reference number in the entity's CRM system. If specified, it will be displayed in PDF invoices and other accounts receivable documents created by the entity.
          example: "123456789"
        language:
          allOf:
            - $ref: '#/components/schemas/LanguageCodeEnum'
          description: The language used to generate PDF documents for this counterpart.
        organization:
          $ref: '#/components/schemas/CounterpartOrganizationResponse'
        reminders_enabled:
          type: boolean
        tax_id:
          type: string
          maxLength: 30
          description: The counterpart's taxpayer identification number or tax ID.
        type:
          allOf:
            - $ref: '#/components/schemas/CounterpartType'
          description: 'The counterpart type: `organization` (juridical person) or `individual` (natural person).'
      type: object
      required:
        - id
        - created_at
        - updated_at
        - organization
        - type
      description: Represents counterparts that are organizations (juridical persons).
    CounterpartOrganizationRootUpdatePayload:
      properties:
        default_billing_address_id:
          type: string
          format: uuid
          description: ID of the counterpart's billing address. If the counterpart is US-based and needs to accept ACH payments, this address must have all fields filled in. If `default_billing_address_id` is not defined, the default address is instead used as the billing address for ACH payments.
        default_shipping_address_id:
          type: string
          format: uuid
          description: ID of the shipping address.
        external_reference:
          type: string
          maxLength: 255
          minLength: 1
          description: A user-defined identifier of the counterpart. For example, the customer or vendor reference number in the entity's CRM system. If specified, it will be displayed in PDF invoices and other accounts receivable documents created by the entity.
          example: "123456789"
        language:
          allOf:
            - $ref: '#/components/schemas/LanguageCodeEnum'
          description: The language used to generate PDF documents for this counterpart.
          default: en
        organization:
          $ref: '#/components/schemas/CounterpartOrganizationUpdatePayload'
        reminders_enabled:
          type: boolean
          default: true
        tax_id:
          type: string
          maxLength: 30
          description: The counterpart's taxpayer identification number or tax ID. For identification purposes, this field may be required for counterparts that are not VAT-registered.
      additionalProperties: false
      type: object
      required:
        - organization
      description: Represents counterparts that are organizations (juridical persons).
    CounterpartOrganizationUpdatePayload:
      properties:
        email:
          type: string
          format: email
          description: The email address of the organization.
          example: acme@example.com
        is_customer:
          type: boolean
          description: Indicates if the counterpart is a customer.
        is_vendor:
          type: boolean
          description: Indicates if the counterpart is a vendor.
        legal_name:
          type: string
          maxLength: 255
          description: The legal name of the organization.
          example: Acme Inc.
        phone:
          type: string
          maxLength: 100
          description: The phone number of the organization.
          example: "5551231234"
        tag_ids:
          items:
            type: string
            format: uuid
          type: array
          description: A list of IDs of user-defined tags (labels) assigned to this counterpart.
      additionalProperties: false
      type: object
      description: Represents counterparts that are organizations (juridical persons).
    CounterpartPaginationResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/CounterpartResponse'
          type: array
        next_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the next page of results, or `null` if there is no next page (i.e. you've reached the last page).
        prev_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the previous page of results, or `null` if there is no previous page (i.e. you've reached the first page).
      type: object
      required:
        - data
      description: A paginated list of counterparts
    CounterpartRawAddress:
      properties:
        city:
          type: string
          description: City name.
          example: Berlin
        country:
          allOf:
            - $ref: '#/components/schemas/AllowedCountries'
          description: Two-letter ISO country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
          example: DE
        line1:
          type: string
          description: Street address.
          example: Flughafenstrasse 52
        line2:
          type: string
          description: Additional address information (if any).
        postal_code:
          type: string
          description: ZIP or postal code.
          example: "10115"
        state:
          type: string
          description: State, region, province, or county.
      type: object
      description: Address information.
    CounterpartRawAddressUpdateRequest:
      properties:
        city:
          type: string
          description: City name.
          example: Berlin
        country:
          allOf:
            - $ref: '#/components/schemas/AllowedCountries'
          description: Two-letter ISO country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
          example: DE
        line1:
          type: string
          description: Street address.
          example: Flughafenstrasse 52
        line2:
          type: string
          description: Additional address information (if any).
        postal_code:
          type: string
          description: ZIP or postal code.
          example: "10115"
        state:
          type: string
          description: State, region, province, or county.
      additionalProperties: false
      type: object
      description: Address information.
    CounterpartRawBankAccount:
      properties:
        account_holder_name:
          type: string
          description: Vendor's bank account name.
        account_number:
          type: string
          description: Vendor's bank account number, IBAN, or similar (if specified in the payable document).
          example: "123456789012"
        bic:
          type: string
          description: SWIFT code (BIC) of the vendor's bank.
          example: DEUTDE2HXXX
        iban:
          type: string
          description: required for non-GB bank accounts
        routing_number:
          type: string
          description: required for US bank accounts
        sort_code:
          type: string
          description: required for GB bank accounts
      type: object
    CounterpartRawBankAccountUpdateRequest:
      properties:
        account_holder_name:
          type: string
          description: Vendor's bank account name.
        account_number:
          type: string
          description: Vendor's bank account number, IBAN, or similar (if specified in the payable document).
          example: "123456789012"
        bic:
          type: string
          maxLength: 11
          description: SWIFT code (BIC) of the vendor's bank.
          example: DEUTDE2HXXX
        iban:
          type: string
          maxLength: 34
          description: required for non-GB bank accounts
        routing_number:
          type: string
          description: required for US bank accounts
        sort_code:
          type: string
          description: required for GB bank accounts
      additionalProperties: false
      type: object
    CounterpartRawData:
      properties:
        address:
          allOf:
            - $ref: '#/components/schemas/CounterpartRawAddress'
          description: The address of the vendor or supplier.
        bank_account:
          allOf:
            - $ref: '#/components/schemas/CounterpartRawBankAccount'
          description: Object representing counterpart bank account.
        email:
          type: string
          format: email
          description: The email address of the organization
          example: acme@example.com
        name:
          type: string
          description: Vendor or supplier name.
          example: Acme Inc.
        phone:
          type: string
          description: The phone number of the organization
          example: "5551231234"
        tax_id:
          type: string
          description: The tax id of the counterpart.
          example: DE12345678
        vat_id:
          allOf:
            - $ref: '#/components/schemas/CounterpartRawVatID'
          description: VAT ID of the vendor or supplier which was used in the invoice.
      type: object
    CounterpartRawDataUpdateRequest:
      properties:
        address:
          allOf:
            - $ref: '#/components/schemas/CounterpartRawAddressUpdateRequest'
          description: The address of the vendor or supplier.
        bank_account:
          allOf:
            - $ref: '#/components/schemas/CounterpartRawBankAccountUpdateRequest'
          description: Object representing counterpart bank account.
        email:
          type: string
          format: email
          description: The email address of the organization
          example: acme@example.com
        name:
          type: string
          description: Vendor or supplier name.
          example: Acme Inc.
        phone:
          type: string
          description: The phone number of the organization
          example: "5551231234"
        tax_id:
          type: string
          maxLength: 30
          description: The tax id of the counterpart.
          example: DE12345678
        vat_id:
          allOf:
            - $ref: '#/components/schemas/CounterpartRawVatIDUpdateRequest'
          description: VAT ID of the vendor or supplier which was used in the invoice.
      additionalProperties: false
      type: object
    CounterpartRawVatID:
      properties:
        country:
          $ref: '#/components/schemas/AllowedCountries'
        type:
          type: string
        value:
          type: string
      type: object
    CounterpartRawVatIDUpdateRequest:
      properties:
        country:
          $ref: '#/components/schemas/AllowedCountries'
        type:
          type: string
        value:
          type: string
          maxLength: 32
      additionalProperties: false
      type: object
    CounterpartResponse:
      anyOf:
        - $ref: '#/components/schemas/CounterpartIndividualRootResponse'
        - $ref: '#/components/schemas/CounterpartOrganizationRootResponse'
      description: |-
        A Counterpart object contains information about an organization (juridical person) or
        individual (natural person) that provides goods and services to or buys them from an
        [SME](https://docs.monite.com/docs/glossary#sme).
    CounterpartTagSchema:
      properties:
        id:
          type: string
          format: uuid
          description: A unique ID of this tag.
          example: ea837e28-509b-4b6a-a600-d54b6aa0b1f5
        created_at:
          type: string
          format: date-time
          description: Date and time when the tag was created. Timestamps follow the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) standard.
          example: "2022-09-07T16:35:18.484507+00:00"
        updated_at:
          type: string
          format: date-time
          description: Date and time when the tag was last updated. Timestamps follow the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) standard.
          example: "2022-09-07T16:35:18.484507+00:00"
        category:
          allOf:
            - $ref: '#/components/schemas/TagCategory'
          description: The tag category.
          example: department
        created_by_entity_user_id:
          type: string
          format: uuid
          description: ID of the user who created the tag.
          example: ea837e28-509b-4b6a-a600-d54b6aa0b1f5
        description:
          type: string
          maxLength: 255
          minLength: 1
          description: The tag description.
          example: Tag for the Marketing Department
        name:
          type: string
          description: The tag name.
          example: Marketing
      type: object
      required:
        - id
        - created_at
        - updated_at
        - name
      description: Represents a user-defined tag that can be assigned to resources to filter them.
    CounterpartType:
      type: string
      enum:
        - individual
        - organization
    CounterpartUpdateAddress:
      properties:
        city:
          type: string
          maxLength: 255
          description: City name.
          example: Berlin
        country:
          allOf:
            - $ref: '#/components/schemas/AllowedCountries'
          description: Two-letter ISO country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
          example: DE
        line1:
          type: string
          maxLength: 255
          description: Street address.
          example: Flughafenstrasse 52
        line2:
          type: string
          maxLength: 255
          description: Additional address information (if any).
        postal_code:
          type: string
          maxLength: 255
          description: ZIP or postal code.
          example: "10115"
        state:
          type: string
          maxLength: 255
          description: State, region, province, or county.
      additionalProperties: false
      type: object
    CounterpartUpdatePayload:
      anyOf:
        - $ref: '#/components/schemas/CounterpartIndividualRootUpdatePayload'
        - $ref: '#/components/schemas/CounterpartOrganizationRootUpdatePayload'
      additionalProperties: false
      description: This schema is used to update existing counterparts (organizations or individuals).
    CounterpartUpdateVatID:
      properties:
        country:
          $ref: '#/components/schemas/AllowedCountries'
        type:
          allOf:
            - $ref: '#/components/schemas/VatIDTypeEnum'
          example: eu_vat
        value:
          type: string
          maxLength: 32
      additionalProperties: false
      type: object
    CounterpartVatID:
      properties:
        country:
          $ref: '#/components/schemas/AllowedCountries'
        type:
          allOf:
            - $ref: '#/components/schemas/VatIDTypeEnum'
          default: unknown
          example: eu_vat
        value:
          type: string
          maxLength: 32
          example: "123456789"
      additionalProperties: false
      type: object
      required:
        - value
    CounterpartVatIDResourceList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/CounterpartVatIDResponse'
          type: array
      additionalProperties: false
      type: object
      required:
        - data
    CounterpartVatIDResponse:
      properties:
        id:
          type: string
          format: uuid
        counterpart_id:
          type: string
          format: uuid
        country:
          $ref: '#/components/schemas/AllowedCountries'
        type:
          allOf:
            - $ref: '#/components/schemas/VatIDTypeEnum'
          default: unknown
          example: eu_vat
        value:
          type: string
          maxLength: 32
          example: "123456789"
      additionalProperties: false
      type: object
      required:
        - id
        - counterpart_id
        - value
    CreateCounterpartBankAccount:
      properties:
        account_holder_name:
          type: string
          description: The name of the person or business that owns this bank account. Required for US bank accounts to accept ACH payments.
          example: Bob Jones
        account_number:
          type: string
          description: The bank account number. Required for US bank accounts to accept ACH payments. US account numbers contain 9 to 12 digits. UK account numbers typically contain 8 digits.
          example: "12345678"
        bic:
          type: string
          maxLength: 11
          description: The BIC/SWIFT code of the bank.
          example: DEUTDEFFXXX
        country:
          $ref: '#/components/schemas/AllowedCountries'
        currency:
          $ref: '#/components/schemas/CurrencyEnum'
        iban:
          type: string
          maxLength: 34
          description: The IBAN of the bank account.
          example: DE74500700100100000900
        is_default_for_currency:
          type: boolean
          default: false
        name:
          type: string
          maxLength: 200
        partner_metadata:
          type: object
          description: Metadata for partner needs.
        routing_number:
          type: string
          description: The bank's routing transit number (RTN). Required for US bank accounts to accept ACH payments. US routing numbers consist of 9 digits.
        sort_code:
          type: string
          description: The bank's sort code.
          example: "123456"
      additionalProperties: false
      type: object
      required:
        - country
        - currency
    CreateCounterpartContactPayload:
      properties:
        address:
          allOf:
            - $ref: '#/components/schemas/CounterpartAddress'
          description: The address of a contact person.
        email:
          type: string
          format: email
          description: The email address of a contact person.
          example: contact@example.org
        first_name:
          type: string
          maxLength: 100
          description: The first name of a contact person.
          example: Mary
        last_name:
          type: string
          maxLength: 100
          description: The last name of a contact person.
          example: O'Brien
        phone:
          type: string
          maxLength: 100
          description: The phone number of a contact person
          example: "5551235476"
        title:
          type: string
          maxLength: 100
          description: 'The title or honorific of a contact person. Examples: Mr., Ms., Dr., Prof.'
          example: Ms.
      additionalProperties: false
      type: object
      required:
        - address
        - first_name
        - last_name
      description: The contact person for an organization.
    CreateCounterpartEinvoicingCredentialCounterpartVatId:
      properties:
        counterpart_vat_id_id:
          type: string
          format: uuid
          description: ID of Counterpart VAT ID
      additionalProperties: false
      type: object
      required:
        - counterpart_vat_id_id
    CreateCounterpartEinvoicingCredentialPayload:
      anyOf:
        - $ref: '#/components/schemas/CreateCounterpartEinvoicingCredentialCounterpartVatId'
        - $ref: '#/components/schemas/CounterpartEinvoicingCredentialSchema'
      additionalProperties: false
    CreateEntityBankAccountRequest:
      properties:
        account_holder_name:
          type: string
          maxLength: 200
          minLength: 1
          description: |-
            The name of the person or business that owns this bank account. Required in the following cases:
            * the account currency is GBP or USD,
            * the account currency is EUR and the entity wishes to receive SEPA Credit transfers to this account.
          example: Cayla Lloyd
        account_number:
          type: string
          description: The bank account number. Required if the account currency is GBP or USD. UK account numbers typically contain 8 digits. US bank account numbers contain 9 to 12 digits.
          example: "12345678"
        bank_name:
          type: string
          description: The bank name.
          example: Deutsche Bank
        bic:
          type: string
          description: |-
            The SWIFT/BIC code of the bank. Can be either 8 or 11 characters long. Monite verifies the BIC length, country code, and whether the structure conforms to ISO 9362.

            If `bic` is specified, `iban` must also be specified.
          example: DEUTDEFFXXX
        country:
          allOf:
            - $ref: '#/components/schemas/AllowedCountries'
          description: The country in which the bank account is registered, repsesented as a two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
          example: DE
        currency:
          allOf:
            - $ref: '#/components/schemas/CurrencyEnum'
          description: The currency of the bank account, represented as a three-letter ISO [currency code](https://docs.monite.com/references/currencies).
          example: EUR
        display_name:
          type: string
          maxLength: 200
          minLength: 1
          description: User-defined name of this bank account, such as 'Primary account' or 'Savings account'.
          example: Primary account
        iban:
          type: string
          description: The IBAN of the bank account, up to 34 characters. Required if the account currency is EUR. Monite verifies the IBAN length, checksum digits, and country-specific format according to ISO 13616.
          example: DE74500700100100000900
        is_default_for_currency:
          type: boolean
          description: If set to `true` or if this is the first bank account added for the given currency, this account becomes the default one for its currency.
          default: false
        routing_number:
          type: string
          description: The bank's routing transit number (RTN) or branch code. Required if the account currency is USD. US routing numbers consist of 9 digits.
        sort_code:
          type: string
          description: The bank's sort code. Required if the account currency is GBP.
          example: "123456"
      additionalProperties: false
      type: object
      required:
        - country
        - currency
      description: Represents a bank account owned by an entity.
    CreateEntityRequest:
      properties:
        address:
          $ref: '#/components/schemas/EntityAddressSchema'
          description: An address description of the entity
        email:
          type: string
          format: email
          description: An official email address of the entity
        individual:
          anyOf:
            - $ref: '#/components/schemas/IndividualSchema'
            - type: "null"
          description: A set of meta data describing the individual
        organization:
          anyOf:
            - $ref: '#/components/schemas/OrganizationSchema'
            - type: "null"
          description: A set of meta data describing the organization
        phone:
          anyOf:
            - type: string
              maxLength: 100
            - type: "null"
          description: The contact phone number of the entity. Required for US organizations to use payments.
        registration_authority:
          anyOf:
            - type: string
              maxLength: 100
              minLength: 1
            - type: "null"
          description: (Germany only) The name of the local district court (_Amtsgericht_) where the entity is registered. Required if `registration_number` is provided.
          examples:
            - Amtsgericht Charlottenburg
        registration_number:
          anyOf:
            - type: string
              maxLength: 100
              minLength: 1
            - type: "null"
          description: (Germany only) The entity's commercial register number (_Handelsregisternummer_) in the German Commercial Register, if available.
          examples:
            - HRB 202324
        tax_id:
          anyOf:
            - type: string
              maxLength: 30
              minLength: 1
            - type: "null"
          description: The entity's taxpayer identification number or tax ID. This field is required for entities that are non-VAT registered.
        type:
          $ref: '#/components/schemas/EntityTypeEnum'
          description: A type for an entity
        website:
          anyOf:
            - type: string
              maxLength: 2083
              minLength: 1
              format: uri
            - type: "null"
          description: A website of the entity
      additionalProperties: false
      type: object
      required:
        - address
        - email
        - type
      description: A schema for a request to create an entity of different types
    CreateEntityUserRequest:
      properties:
        email:
          anyOf:
            - type: string
              format: email
            - type: "null"
          description: The user's business email address.
          examples:
            - c.peters@example.com
        first_name:
          type: string
          maxLength: 255
          description: The user's first name.
          examples:
            - Casey
            - Casey
        last_name:
          anyOf:
            - type: string
              maxLength: 255
            - type: "null"
          description: The user's last name.
          examples:
            - Peters
            - Peters
        login:
          type: string
          maxLength: 255
          description: |-
            The username assigned to this user. Usernames must be unique within the entity.

            The `login` value is not used by Monite but may be used by partner applications, for example, to map the users between the partner's platform and Monite.
        phone:
          anyOf:
            - type: string
            - type: "null"
          description: The user's phone number.
          examples:
            - "+491729925904"
        role_id:
          anyOf:
            - type: string
              format: uuid
            - type: "null"
          description: ID of the role to assign to this user. The role defines the user's [access permissions](https://docs.monite.com/api/concepts/authentication#permissions) within the entity. Each user has just one role.
        title:
          anyOf:
            - type: string
              maxLength: 255
            - type: "null"
          description: The user's job title.
          examples:
            - Finance Manager
      additionalProperties: false
      type: object
      required:
        - first_name
        - login
    CreateExportTaskResponseSchema:
      properties:
        id:
          type: string
          format: uuid
      type: object
      required:
        - id
    CreateOCRRequestPayload:
      properties:
        document_type:
          $ref: '#/components/schemas/OCRDocumentTypeEnum'
        file_url:
          type: string
      type: object
      required:
        - file_url
    CreatePaymentLinkRequest:
      properties:
        amount:
          type: integer
          minimum: 1
          description: |-
            The payment amount in [minor units](https://docs.monite.com/references/currencies#minor-units). The usage of the `amount` field depends on the type of the payment link you are creating:

             * If the `invoice` object is specified (that is, when creating a payment link for an external invoice),
              `amount` is required.
             * If `object` is specified:
               * If `object.type` is `payable`, `amount` must not be specified since it's taken from the payable.
               * If `object.type` is `receivable`, you can provide a custom `amount` value to create a partial payment link.
                 In this case, the `amount` value must not exceed the invoice's `amount_to_pay` minus all active payment links.
          example: 120550
        currency:
          allOf:
            - $ref: '#/components/schemas/CurrencyEnum'
          description: The payment currency. Mutually exclusive with `object`.
          example: EUR
        expires_at:
          type: string
          format: date-time
          description: |-
            Date and time (in the ISO 8601 format) when this payment link will expire. Can be up to 70 days from the current date and time.
            If omitted:

             * Payment links for payables and receivables expire 30 days after the invoice due date.
             * Payment links for external invoices expire 30 days after the link creation time.

            For more information, see [Payment link expiration](https://docs.monite.com/payments/payment-links#expiration).
        invoice:
          allOf:
            - $ref: '#/components/schemas/Invoice'
          description: An object containing information about an external invoice to be paid. Mutually exclusive with `object`.
        object:
          allOf:
            - $ref: '#/components/schemas/PaymentObject'
          description: If the invoice being paid is a payable or receivable stored in Monite, provide the `object` object containing the invoice type and ID. Otherwise, use the `amount`, `currency`, `payment_reference`, and (optionally) `invoice` fields to specify the invoice-related data.
        payment_methods:
          items:
            $ref: '#/components/schemas/MoniteAllPaymentMethodsTypes'
          type: array
          minItems: 1
          uniqueItems: true
          description: |-
            Payment methods to be displayed on the payment page. These payment methods must already be enabled for the entity.

            **Note:** Available payment methods vary per country, transaction type (B2B or B2C), and the payment link type (entity pays a bill or entity generates an invoice payment link for its counterpart). For more information, see [Payment methods](https://docs.monite.com/payments/payment-methods).
        payment_reference:
          type: string
          description: A payment reference number that the recipient can use to identify the payer or purpose of the transaction. Mutually exclusive with `object`.
          example: 011/7057/26072
          examples:
            - INV-00042
        recipient:
          $ref: '#/components/schemas/PaymentAccountObject'
          description: Specifies the invoice vendor - entity or counterpart. This is the payee, or the recipient of the payment.
        return_url:
          type: string
          maxLength: 2083
          minLength: 1
          format: uri
          description: The URL where to redirect the payer after the payment. If `return_url` is specified, then after the payment is completed the payment page will display the "Return to platform" link that navigates to this URL.
          example: https://pay.example.com/complete
      additionalProperties: false
      type: object
      required:
        - payment_methods
        - recipient
    CreateRecurrencePayload:
      properties:
        automation_level:
          allOf:
            - $ref: '#/components/schemas/AutomationLevel'
          description: |
            Controls how invoices are processed when generated:
            - "draft": Creates invoices in draft status, requiring manual review, issuing, and sending
            - "issue": Automatically issues invoices but requires manual sending
            - "issue_and_send": Fully automates the process (creates, issues, and sends invoices)

            Default: "issue" (or "issue_and_send" if subject_text and body_text are provided)

            Note: When using "issue_and_send", both subject_text and body_text must be provided.
        body_text:
          type: string
          minLength: 1
          description: The body text for the email that will be sent with the recurring invoice.
        day_of_month:
          allOf:
            - $ref: '#/components/schemas/DayOfMonth'
          description: Deprecated, use `start_date` instead
          deprecated: true
        end_date:
          type: string
          format: date
          description: The end date of the recurring invoice, in the `yyyy-mm-dd` format. The end date is inclusive, that is, the last invoice will be created on this date if the last occurrence falls on this date. `end_date` is mutually exclusive with `max_occurrences`. Either `end_date` or `max_occurrences` must be specified.
        end_month:
          type: integer
          maximum: 12
          minimum: 1
          description: Deprecated, use `end_date` instead
          deprecated: true
        end_year:
          type: integer
          maximum: 2077
          description: Deprecated, use `end_date` instead
          deprecated: true
        frequency:
          allOf:
            - $ref: '#/components/schemas/RecurrenceFrequency'
          description: How often the invoice will be created.
          default: month
        interval:
          type: integer
          maximum: 100
          minimum: 1
          description: The interval between each occurrence of the invoice. For example, when using monthly frequency, an interval of 1 means invoices will be created every month, an interval of 2 means invoices will be created every 2 months.
          default: 1
        invoice_id:
          type: string
          format: uuid
          description: ID of the base invoice that will be used as a template for creating recurring invoices.
        max_occurrences:
          type: integer
          maximum: 1000
          minimum: 1
          description: How many times the recurring invoice will be created. The recurrence will stop after this number is reached. `max_occurrences` is mutually exclusive with `end_date`. Either `max_occurrences` or `end_date` must be specified.
        recipients:
          allOf:
            - $ref: '#/components/schemas/Recipients'
          description: An object containing the recipients (To, CC, BCC) of the recurring invoices. Can be omitted if the base invoice has the counterpart contact email specified in the `counterpart_contact.email` field.
        start_date:
          type: string
          format: date
          description: The date when the first invoice will be created, in the `yyyy-mm-dd` format. Cannot be a past date. Subsequent invoice dates will be calculated based on `start_date`, `frequency`, and `interval`.
        start_month:
          type: integer
          maximum: 12
          minimum: 1
          description: Deprecated, use `start_date` instead
          deprecated: true
        start_year:
          type: integer
          maximum: 2077
          description: Deprecated, use `start_date` instead
          deprecated: true
        subject_text:
          type: string
          minLength: 1
          description: The subject for the email that will be sent with the recurring invoice.
      type: object
      required:
        - invoice_id
    CreateRoleRequest:
      properties:
        name:
          type: string
          maxLength: 255
          minLength: 1
          description: The role name must be unique within the entity and can contain only ASCII characters. Role names are case-sensitive.
        permissions:
          $ref: '#/components/schemas/BizObjectsSchema-Input'
          description: Access permissions
      additionalProperties: false
      type: object
      required:
        - name
        - permissions
    CreateTextTemplatePayload:
      properties:
        document_type:
          $ref: '#/components/schemas/TextTemplateDocumentTypeEnum'
        name:
          type: string
        template:
          type: string
        type:
          $ref: '#/components/schemas/TextTemplateType'
      additionalProperties: false
      type: object
      required:
        - document_type
        - name
        - template
        - type
    CreateWebhookSubscriptionRequest:
      properties:
        event_types:
          items:
            type: string
          type: array
          examples:
            - - created
              - onboarding_requirements.updated
              - onboarding_requirements.status_updated
          description: 'A list of [events](https://docs.monite.com/references/webhooks/index#events) to subscribe to. If set to an empty array, the subscription includes all events triggered by the specified `object_type`. '
        object_type:
          $ref: '#/components/schemas/WebhookObjectType'
          examples:
            - entity
          description: |-
            The [object type](https://docs.monite.com/references/webhooks/index#events) to whose events you want to subscribe.

            To subscribe to events from multiple object types, create a separate subscription for each object type.
        url:
          type: string
          maxLength: 2083
          minLength: 1
          format: uri
          examples:
            - https://example.com/your-webhook-listener
          description: |-
            An HTTPS URL to which Monite will send webhooks. This URL must be accessible over the public Internet, accept POST requests, and respond with status code 200. It must be a direct URL (no redirects).

            The same URL can be used by multiple webhook subscriptions.
      additionalProperties: false
      type: object
      required:
        - object_type
        - url
    CreditNoteCreateRequest:
      properties:
        based_on:
          type: string
          format: uuid
          description: ID of the payable this credit note is based on. The credit note will be linked to this payable
          example: 123e4567-e89b-12d3-a456-426614174000
        based_on_document_id:
          type: string
          maxLength: 255
          description: The document ID of the original payable that this credit note refers to
          example: INV-2287
        counterpart_address_id:
          type: string
          format: uuid
          description: The ID of the counterpart's address
          example: 123e4567-e89b-12d3-a456-426614174000
        counterpart_bank_account_id:
          type: string
          format: uuid
          description: The ID of the counterpart's bank account
          example: 123e4567-e89b-12d3-a456-426614174000
        counterpart_id:
          type: string
          format: uuid
          description: The ID of the counterpart (vendor/supplier)
          example: 123e4567-e89b-12d3-a456-426614174000
        counterpart_vat_id_id:
          type: string
          format: uuid
          description: The ID of the counterpart's VAT registration
          example: 123e4567-e89b-12d3-a456-426614174000
        currency:
          allOf:
            - $ref: '#/components/schemas/CurrencyEnum'
          description: The currency code of the credit note
          default: EUR
          example: EUR
        description:
          type: string
          maxLength: 255
          description: An arbitrary description of this credit note
          example: Credit note for returned items from invoice INV-2287
        document_id:
          type: string
          maxLength: 255
          description: A unique credit note number assigned by the credit note issuer for tracking purposes
          example: CN-2287
        issued_at:
          type: string
          format: date
          description: The date when the credit note was issued, in the YYYY-MM-DD format
          example: "2024-01-15"
        project_id:
          type: string
          format: uuid
          description: The ID of the project this credit note belongs to
          example: 123e4567-e89b-12d3-a456-426614174000
        sender:
          type: string
          maxLength: 255
          description: The email address from which the credit note was received
          example: supplier@example.com
        subtotal:
          type: integer
          minimum: 0
          description: The subtotal amount before taxes
          example: 1000
        tag_ids:
          items:
            type: string
            format: uuid
          type: array
          description: List of tag IDs associated with this credit note
          example:
            - 123e4567-e89b-12d3-a456-426614174000
        tax:
          type: integer
          maximum: 10000
          minimum: 0
          description: The tax percentage applied to the subtotal
          example: 20
        tax_amount:
          type: integer
          minimum: 0
          description: The calculated tax amount
          example: 200
        total_amount:
          type: integer
          minimum: 0
          description: The total amount including taxes
          example: 1200
      additionalProperties: false
      type: object
      required:
        - document_id
        - issued_at
      description: Schema for creating a new credit note.
    CreditNoteCursorFields:
      type: string
      enum:
        - id
        - created_at
    CreditNoteDimensionEnum:
      type: string
      enum:
        - created_at
        - status
        - counterpart_id
        - currency
        - issued_at
        - project_id
    CreditNoteFieldsAllowedForValidate:
      type: string
      enum:
        - currency
        - document_id
        - issued_at
        - tax_amount
        - based_on
        - total_amount
        - subtotal
        - description
        - tax
        - file_id
        - counterpart_id
        - counterpart_bank_account_id
        - counterpart_address_id
        - counterpart_vat_id_id
        - line_items
        - line_items.quantity
        - line_items.unit_price
        - line_items.tax
        - line_items.unit
        - line_items.name
        - line_items.description
        - line_items.subtotal
        - line_items.total
        - line_items.tax_amount
    CreditNoteLineItemCreateRequest:
      properties:
        description:
          type: string
          description: Detailed description of the line item
          example: Premium version of Product XYZ with extended warranty
        name:
          type: string
          description: Name or title of the line item
          example: Product XYZ
        quantity:
          type: number
          minimum: 0
          description: Quantity of items
          example: 2
        tax:
          type: integer
          maximum: 10000
          description: 'VAT rate in percent [minor units](https://docs.monite.com/references/currencies#minor-units). Example: 12.5% is 1250.'
          example: 1250
        unit:
          type: string
          description: Unit of measurement
          example: pieces
        unit_price:
          type: integer
          description: Price per unit in smallest currency unit (e.g. cents)
          example: 5000
      additionalProperties: false
      type: object
      description: Schema for creating a new credit note line item.
    CreditNoteLineItemCursorFields:
      type: string
      enum:
        - id
        - created_at
        - name
        - total
        - quantity
        - unit_price
    CreditNoteLineItemPaginationResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/CreditNoteLineItemResponse'
          type: array
          description: List of credit note line items for the current page
        next_pagination_token:
          type: string
          description: Token to retrieve the next page of results
          example: eyJwYWdlIjoyfQ==
        prev_pagination_token:
          type: string
          description: Token to retrieve the previous page of results
          example: eyJwYWdlIjoxfQ==
      additionalProperties: false
      type: object
      required:
        - data
      description: A paginated list of credit note line items.
    CreditNoteLineItemReplaceRequest:
      properties:
        data:
          items:
            $ref: '#/components/schemas/CreditNoteLineItemCreateRequest'
          type: array
          description: List of credit note line items to replace existing ones
      additionalProperties: false
      type: object
      required:
        - data
      description: Schema for replacing all line items of a credit note.
    CreditNoteLineItemResponse:
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier of the line item
          example: 123e4567-e89b-12d3-a456-426614174000
        created_at:
          type: string
          format: date-time
          description: Timestamp when the line item was created
          example: "2024-01-15T14:30:00Z"
        updated_at:
          type: string
          format: date-time
          description: Timestamp when the line item was last updated
          example: "2024-01-15T14:30:00Z"
        created_by_user_id:
          type: string
          format: uuid
          description: ID of the user who created the line item
          example: 123e4567-e89b-12d3-a456-426614174000
        credit_note_id:
          type: string
          format: uuid
          description: ID of the parent credit note
          example: 123e4567-e89b-12d3-a456-426614174000
        description:
          type: string
          description: Detailed description of the line item
          example: Premium version of Product XYZ with extended warranty
        name:
          type: string
          description: Name or title of the line item
          example: Product XYZ
        quantity:
          type: number
          minimum: 0
          description: Quantity of items
          example: 2
        subtotal:
          type: integer
          description: Subtotal amount before tax
          example: 10000
        tax:
          type: integer
          minimum: 0
          description: Tax percentage
          example: 20
        tax_amount:
          type: integer
          description: Tax amount
          example: 2000
        total:
          type: integer
          description: Total amount including tax
          example: 12000
        unit:
          type: string
          description: Unit of measurement
          example: pieces
        unit_price:
          type: integer
          description: Price per unit in smallest currency unit
          example: 5000
      additionalProperties: false
      type: object
      required:
        - id
        - created_at
        - updated_at
        - credit_note_id
      description: Schema for credit note line item response. Includes all fields that can be returned from the API.
    CreditNoteLineItemUpdateRequest:
      properties:
        description:
          type: string
          description: Detailed description of the line item
          example: Premium version of Product XYZ with extended warranty
        name:
          type: string
          description: Name or title of the line item
          example: Product XYZ
        quantity:
          type: number
          minimum: 0
          description: Quantity of items
          example: 2
        tax:
          type: integer
          maximum: 10000
          description: 'VAT rate in percent [minor units](https://docs.monite.com/references/currencies#minor-units). Example: 12.5% is 1250.'
          example: 1250
        unit:
          type: string
          description: Unit of measurement
          example: pieces
        unit_price:
          type: integer
          description: Price per unit in smallest currency unit
          example: 5000
      additionalProperties: false
      type: object
      description: Schema for updating an existing credit note line item. All fields are optional.
    CreditNoteMetricEnum:
      type: string
      enum:
        - id
        - total_amount
    CreditNotePaginationResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/CreditNoteResponse'
          type: array
          description: List of credit notes for the current page
        next_pagination_token:
          type: string
          description: Token to retrieve the next page of results
          example: eyJwYWdlIjoyfQ==
        prev_pagination_token:
          type: string
          description: Token to retrieve the previous page of results
          example: eyJwYWdlIjoxfQ==
      additionalProperties: false
      type: object
      required:
        - data
      description: A paginated list of credit notes.
    CreditNoteRenderingSettings:
      properties:
        display_entity_bank_account:
          type: boolean
          description: If set to `true`, the entity's bank account details will be displayed on the credit note PDF.
          default: true
      type: object
    CreditNoteResponse:
      properties:
        id:
          type: string
          format: uuid
          description: The unique identifier of the credit note
          example: 123e4567-e89b-12d3-a456-426614174000
        created_at:
          type: string
          format: date-time
          description: Date and time when the credit note was created in the system
          example: "2024-01-15T14:30:00Z"
        updated_at:
          type: string
          format: date-time
          description: Date and time of the last update to the credit note
          example: "2024-01-15T14:30:00Z"
        based_on:
          type: string
          format: uuid
          description: ID of the payable this credit note is based on
          example: 123e4567-e89b-12d3-a456-426614174000
        based_on_document_id:
          type: string
          maxLength: 255
          description: The document ID of the original payable that this credit note refers to
          example: INV-2287
        counterpart:
          allOf:
            - $ref: '#/components/schemas/CounterpartRawData'
          description: Object representing de-normalized counterpart data
        counterpart_address_id:
          type: string
          format: uuid
          description: ID of the counterpart's address
          example: 123e4567-e89b-12d3-a456-426614174000
        counterpart_bank_account_id:
          type: string
          format: uuid
          description: ID of the counterpart's bank account
          example: 123e4567-e89b-12d3-a456-426614174000
        counterpart_id:
          type: string
          format: uuid
          description: ID of the counterpart
          example: 123e4567-e89b-12d3-a456-426614174000
        counterpart_raw:
          allOf:
            - $ref: '#/components/schemas/CounterpartRawData'
          description: Object representing counterpart data which was extracted by OCR. Used for informational purposes.
        counterpart_vat_id_id:
          type: string
          format: uuid
          description: ID of the counterpart's VAT registration
          example: 123e4567-e89b-12d3-a456-426614174000
        created_by_external_user_id:
          type: string
          maxLength: 255
          description: External system's user ID for the creator
          example: ext_user_123
        created_by_external_user_name:
          type: string
          maxLength: 255
          description: Name of the external user who created the credit note
          example: John Doe
        created_by_user_id:
          type: string
          format: uuid
          description: ID of the user who created the credit note
          example: 123e4567-e89b-12d3-a456-426614174000
        currency:
          type: string
          maxLength: 5
          description: The currency code
          example: EUR
        currency_exchange:
          $ref: '#/components/schemas/CurrencyExchangeSchema'
        description:
          type: string
          maxLength: 255
          description: Description of the credit note
          example: Credit note for returned items from invoice INV-2287
        document_id:
          type: string
          maxLength: 255
          description: The credit note's unique document number
          example: CN-2287
        entity_id:
          type: string
          format: uuid
          description: The ID of the entity to which the credit note belongs
          example: 123e4567-e89b-12d3-a456-426614174000
        file_id:
          type: string
          format: uuid
          description: The id of the credit note file stored in the file saver.
          example: 123e4567-e89b-12d3-a456-426614174000
        file_url:
          type: string
          description: The URL of the credit note file stored in the file saver.
        issued_at:
          type: string
          format: date
          description: Date when the credit note was issued
          example: "2024-01-15"
        ocr_request_id:
          type: string
          format: uuid
          description: ID of the OCR processing request
          example: 123e4567-e89b-12d3-a456-426614174000
        ocr_status:
          type: string
          maxLength: 10
          description: Status of OCR processing
          example: completed
        origin:
          type: string
          maxLength: 128
          description: The origin or source system of the credit note
          example: SAP
        project_id:
          type: string
          format: uuid
          description: ID of the associated project
          example: 123e4567-e89b-12d3-a456-426614174000
        sender:
          type: string
          maxLength: 255
          description: Email address of the sender
          example: supplier@example.com
        source_of_data:
          type: string
          maxLength: 128
          description: How the data was input (ocr/user_specified)
          example: user_specified
        status:
          type: string
          maxLength: 30
          description: The current status of the credit note in its lifecycle
          example: submitted_for_approval
        subtotal:
          type: integer
          description: The subtotal amount before taxes
          example: 1000
        tags:
          items:
            $ref: '#/components/schemas/TagReadSchema'
          type: array
          description: List of tags associated with this credit note
          example:
            - id: 123e4567-e89b-12d3-a456-426614174000
              name: Department A
              category: department
        tax:
          type: integer
          description: The tax percentage
          example: 20
        tax_amount:
          type: integer
          description: The calculated tax amount
          example: 200
        total_amount:
          type: integer
          description: The total amount including taxes
          example: 1200
      type: object
      required:
        - id
        - created_at
        - updated_at
        - entity_id
        - origin
        - source_of_data
        - status
      description: Schema for credit note response. Includes all fields that can be returned from the API.
    CreditNoteResponsePayload:
      properties:
        id:
          type: string
          format: uuid
        created_at:
          type: string
          format: date-time
          description: Time at which the receivable was created. Timestamps follow the ISO 8601 standard.
        updated_at:
          type: string
          format: date-time
          description: Time at which the receivable was last updated. Timestamps follow the ISO 8601 standard.
        attachments:
          items:
            $ref: '#/components/schemas/AttachmentResponse'
          type: array
          description: List of attachments to include with the receivable. Each attachment can be configured for email inclusion. If not provided, no attachments will be associated.
        based_on:
          type: string
          format: uuid
          description: The unique ID of a previous document related to the receivable if applicable.
        based_on_document_id:
          type: string
          description: The unique document ID of a previous document related to the receivable if applicable.
        commercial_condition_description:
          type: string
          description: |-
            Additional terms and conditions for the receivable. For example, the return or cancellation policy. If defined, this text is displayed in the "Terms and conditions" section in the PDF.

            This is different from payment terms which are defined using `payment_terms` or `payment_terms_id`.

            See also: `memo`, `footer`.
        counterpart_billing_address:
          allOf:
            - $ref: '#/components/schemas/ReceivablesRepresentationOfCounterpartAddress'
          description: Address of invoicing, need to state as a separate fields for some countries if it differs from address of a company.
        counterpart_business_type:
          type: string
          maxLength: 50
          description: Different types of companies for different countries, ex. GmbH, SAS, SNC, etc.
        counterpart_contact:
          allOf:
            - $ref: '#/components/schemas/ReceivableCounterpartContact'
          description: Additional information about counterpart contacts.
        counterpart_einvoicing_credentials:
          allOf:
            - $ref: '#/components/schemas/EinvoicingCredentials'
          description: E-invoicing credentials of the counterpart
        counterpart_external_reference:
          type: string
          description: The external reference of the counterpart.
        counterpart_id:
          type: string
          format: uuid
          description: Unique ID of the counterpart.
        counterpart_name:
          type: string
          description: A legal name of a counterpart it is an organization or first and last name if it is an individual
        counterpart_shipping_address:
          allOf:
            - $ref: '#/components/schemas/ReceivablesRepresentationOfCounterpartAddress'
          description: Address where goods were shipped / where services were provided.
        counterpart_tax_id:
          type: string
          description: The VAT/TAX ID of the counterpart.
        counterpart_type:
          allOf:
            - $ref: '#/components/schemas/CounterpartType'
          description: The type of the counterpart.
        counterpart_vat_id:
          $ref: '#/components/schemas/ReceivableCounterpartVatIDResponse'
        currency:
          allOf:
            - $ref: '#/components/schemas/CurrencyEnum'
          description: The currency used in the receivable.
        deduction_amount:
          type: integer
          maximum: 9007199254740991
          minimum: 0
          description: |-
            Deprecated and mutually exclusive with `deductions`.

            Specifies the amount (in [minor units](https://docs.monite.com/references/currencies#minor-units)) of a special deduction or incentive that is applied to the total after VAT.

            The default PDF label for deductions is "Incentives", but can be changed via the partner setting `receivable.deduction_title`.
          deprecated: true
          examples:
            - 1500
        deduction_memo:
          type: string
          description: |-
            Deprecated and mutually exclusive with `deductions`.

            A note with additional information about the deduction. It is displayed below the deduction line in the PDF.
          deprecated: true
        deductions:
          items:
            $ref: '#/components/schemas/DeductionItem'
          type: array
          maxItems: 10
          description: |-
            A list of deductions and incentives to be applied after VAT. This is different from discounts which are applied before VAT.

            The `deductions` field is mutually exclusive with the deprecated `deduction_amount` and `deduction_memo` fields.
        discount:
          allOf:
            - $ref: '#/components/schemas/DiscountResponse'
          description: The discount for a receivable.
        discounted_subtotal:
          type: integer
          maximum: 9007199254740991
          description: Total price of the receivable with discounts before taxes [minor units](https://docs.monite.com/references/currencies#minor-units).
        document_id:
          type: string
          description: The sequential code systematically assigned to invoices.
        document_rendering:
          allOf:
            - $ref: '#/components/schemas/DocumentRenderingSettings'
          description: Settings for rendering documents in PDF format, including settings for line items and specific document types.
        due_date:
          type: string
          format: date
          description: The due date of the original invoice.
        einvoice_error_comment:
          type: string
          description: Error that was returned by E-invoicing
        einvoice_file_url:
          type: string
          description: E-invoice XML file that was sent to the counterpart via an e-invoicing network. Available only if `is_einvoice` is `true`.
        entity:
          anyOf:
            - $ref: '#/components/schemas/ReceivableEntityOrganization'
            - $ref: '#/components/schemas/ReceivableEntityIndividual'
        entity_address:
          $ref: '#/components/schemas/ReceivableEntityAddressSchema'
        entity_bank_account:
          $ref: '#/components/schemas/ReceivablesRepresentationOfEntityBankAccount'
        entity_user_id:
          type: string
          format: uuid
          description: The entity user who created this document.
        entity_vat_id:
          $ref: '#/components/schemas/ReceivableEntityVatIDResponse'
        file_language:
          allOf:
            - $ref: '#/components/schemas/LanguageCodeEnum'
          description: The language of the customer-facing PDF file (`file_url`). The value matches the counterpart's `language` at the time when this PDF file was generated.
        file_url:
          type: string
          description: The receivable's PDF URL in the counterpart's default language.
        footer:
          type: string
          description: 'Optional text displayed below the line items table in the PDF. See also: `memo`, `commercial_condition_description`.'
        is_einvoice:
          type: boolean
          description: If `true`, the credit note will be sent through an e-invoicing network. The value is inherited from the invoice for which the credit note was created, and cannot be changed.
          default: false
        issue_date:
          type: string
          format: date-time
          description: Optional field for the issue of the entry.
        line_items:
          items:
            $ref: '#/components/schemas/ResponseItem'
          type: array
        memo:
          type: string
          description: 'An optional note for the customer, displayed above the line items table in the PDF. See also: `footer`, `commercial_condition_description`.'
        network_credentials:
          allOf:
            - $ref: '#/components/schemas/EinvoicingCredentials'
          description: E-invoicing credentials of the entity
        original_file_language:
          allOf:
            - $ref: '#/components/schemas/LanguageCodeEnum'
          description: The language of the entity's copy of the PDF file (`original_file_url`). The value matches the entity's `language` at the time when this PDF file was generated.
        original_file_url:
          type: string
          description: The receivable's PDF URL in the entity's default language.
        partner_metadata:
          type: object
          description: Metadata for partner needs
        project_id:
          type: string
          format: uuid
          description: ID of the [project](https://docs.monite.com/common/projects) associated with this credit note. If specified, the project name will be included in the header of the PDF credit note.
        purchase_order:
          type: string
          maxLength: 100
          description: Contain purchase order number.
        status:
          allOf:
            - $ref: '#/components/schemas/CreditNoteStateEnum'
          description: The status of the Credit Note inside the receivable workflow.
        subtotal:
          type: integer
          maximum: 9007199254740991
          description: The subtotal (excluding VAT), in [minor units](https://docs.monite.com/references/currencies#minor-units).
        subtotal_after_vat:
          type: integer
          maximum: 9007199254740991
          description: The subtotal including VAT but without invoice discount, in [minor units](https://docs.monite.com/references/currencies#minor-units).
        tags:
          items:
            $ref: '#/components/schemas/TagReadSchema'
          type: array
          description: The list of tags for this receivable.
          default: []
        total_amount:
          type: integer
          maximum: 9007199254740991
          description: Total price of the receivable in [minor units](https://docs.monite.com/references/currencies#minor-units). Calculated as a subtotal + total_vat_amount.
          default: 0
        total_deduction_amount:
          type: integer
          maximum: 9007199254740991
          description: The total amount of all deductions that are applied after VAT, in [minor units](https://docs.monite.com/references/currencies#minor-units).
        total_vat_amount:
          type: integer
          maximum: 9007199254740991
          description: The total VAT of all line items, in [minor units](https://docs.monite.com/references/currencies#minor-units).
        total_vat_amounts:
          items:
            $ref: '#/components/schemas/TotalVatAmountItem'
          type: array
          description: List of total vat amount for each VAT, presented in receivable
        total_withholding_tax:
          type: integer
          description: Total price of the receivable with tax withheld in minor units
        trade_name:
          type: string
          maxLength: 255
          description: Trade name of the entity
        type:
          type: string
          enum:
            - credit_note
          description: The type of the receivable
        vat_exempt:
          type: boolean
          description: Unused.
        vat_exemption_rationale:
          type: string
          description: The reason for the VAT exemption, if applicable.
        vat_inclusive_discount_mode:
          allOf:
            - $ref: '#/components/schemas/VatModeEnum'
          description: Indicates whether the discount is applied to the VAT-inclusive or VAT-exclusive amount.
          default: exclusive
        vat_mode:
          allOf:
            - $ref: '#/components/schemas/VatModeEnum'
          description: Defines whether the prices of products in receivable will already include VAT or not.
          default: exclusive
        withholding_tax_rate:
          type: integer
          maximum: 10000
          minimum: 0
          description: The amount of tax withheld in percent minor units
      type: object
      required:
        - id
        - created_at
        - updated_at
        - counterpart_id
        - counterpart_type
        - currency
        - entity
        - entity_address
        - file_language
        - line_items
        - original_file_language
        - status
        - total_vat_amount
        - type
    CreditNoteStateEnum:
      type: string
      enum:
        - draft
        - issuing
        - issued
        - failed
      description: Credit note statuses (used in accounts receivable).
    CreditNoteUpdateRequest:
      properties:
        based_on:
          type: string
          format: uuid
          description: ID of the payable this credit note is based on. The credit note will be linked to this payable
          example: 123e4567-e89b-12d3-a456-426614174000
        based_on_document_id:
          type: string
          maxLength: 255
          description: The document ID of the original payable
          example: INV-2287
        counterpart_address_id:
          type: string
          format: uuid
          description: ID of the counterpart's address
          example: 123e4567-e89b-12d3-a456-426614174000
        counterpart_bank_account_id:
          type: string
          format: uuid
          description: ID of the counterpart's bank account
          example: 123e4567-e89b-12d3-a456-426614174000
        counterpart_id:
          type: string
          format: uuid
          description: ID of the counterpart
          example: 123e4567-e89b-12d3-a456-426614174000
        counterpart_vat_id_id:
          type: string
          format: uuid
          description: ID of the counterpart's VAT registration
          example: 123e4567-e89b-12d3-a456-426614174000
        currency:
          allOf:
            - $ref: '#/components/schemas/CurrencyEnum'
          description: The currency code of the credit note
          example: EUR
        description:
          type: string
          maxLength: 255
          description: An arbitrary description of this credit note
          example: Credit note for returned items from invoice INV-2287
        document_id:
          type: string
          maxLength: 255
          description: A unique credit note number assigned by the credit note issuer for tracking purposes
          example: CN-2287
        issued_at:
          type: string
          format: date
          description: The date when the credit note was issued, in the YYYY-MM-DD format
          example: "2024-01-15"
        project_id:
          type: string
          format: uuid
          description: The ID of the project this credit note belongs to
          example: 123e4567-e89b-12d3-a456-426614174000
        sender:
          type: string
          maxLength: 255
          description: Email address of the sender
          example: supplier@example.com
        subtotal:
          type: integer
          minimum: 0
          description: The subtotal amount before taxes
          example: 1000
        tag_ids:
          items:
            type: string
            format: uuid
          type: array
          description: List of tag IDs associated with this credit note
          example:
            - 123e4567-e89b-12d3-a456-426614174000
        tax:
          type: integer
          maximum: 10000
          minimum: 0
          description: The tax percentage applied to the subtotal
          example: 20
        tax_amount:
          type: integer
          minimum: 0
          description: The calculated tax amount
          example: 200
        total_amount:
          type: integer
          minimum: 0
          description: The total amount including taxes
          example: 1200
      additionalProperties: false
      type: object
      description: Schema for updating an existing credit note. All fields are optional.
    CreditNoteUploadFile:
      properties:
        file:
          type: string
          format: binary
      type: object
      required:
        - file
    CreditNoteValidationResponse:
      properties:
        id:
          type: string
          format: uuid
          description: A unique ID assigned to this credit note.
        validation_errors:
          items:
            type: object
          type: array
      type: object
      required:
        - id
    CreditNoteValidationsResource:
      properties:
        required_fields:
          items:
            $ref: '#/components/schemas/CreditNoteFieldsAllowedForValidate'
          type: array
      type: object
      required:
        - required_fields
    CurrencyEnum:
      type: string
      enum:
        - AED
        - AFN
        - ALL
        - AMD
        - ANG
        - AOA
        - ARS
        - AUD
        - AWG
        - AZN
        - BAM
        - BBD
        - BDT
        - BGN
        - BHD
        - BIF
        - BMD
        - BND
        - BOB
        - BRL
        - BSD
        - BTN
        - BWP
        - BYN
        - BZD
        - CAD
        - CDF
        - CHF
        - CLP
        - CNY
        - COP
        - CRC
        - CVE
        - CZK
        - DJF
        - DKK
        - DOP
        - DZD
        - EGP
        - ETB
        - EUR
        - FJD
        - FKP
        - GBP
        - GEL
        - GHS
        - GIP
        - GMD
        - GNF
        - GTQ
        - GYD
        - HKD
        - HNL
        - HTG
        - HUF
        - IDR
        - ILS
        - INR
        - IQD
        - ISK
        - JMD
        - JOD
        - JPY
        - KES
        - KGS
        - KHR
        - KMF
        - KRW
        - KWD
        - KYD
        - KZT
        - LAK
        - LBP
        - LKR
        - LRD
        - LSL
        - LYD
        - MAD
        - MDL
        - MGA
        - MKD
        - MMK
        - MNT
        - MOP
        - MUR
        - MVR
        - MWK
        - MXN
        - MYR
        - MZN
        - NAD
        - NGN
        - NIO
        - NOK
        - NPR
        - NZD
        - OMR
        - PAB
        - PEN
        - PGK
        - PHP
        - PKR
        - PLN
        - PYG
        - QAR
        - RON
        - RSD
        - RUB
        - RWF
        - SAR
        - SBD
        - SCR
        - SEK
        - SGD
        - SHP
        - SLE
        - SOS
        - SRD
        - SSP
        - SVC
        - SZL
        - THB
        - TJS
        - TMT
        - TND
        - TOP
        - TRY
        - TTD
        - TWD
        - TZS
        - UAH
        - UGX
        - USD
        - UYU
        - UZS
        - VND
        - VUV
        - WST
        - XAF
        - XCD
        - XOF
        - XPF
        - YER
        - ZAR
        - ZMW
    CurrencyExchangeSchema:
      properties:
        default_currency_code:
          type: string
        rate:
          type: number
          exclusiveMinimum: 0
        total:
          type: number
      additionalProperties: false
      type: object
      required:
        - default_currency_code
        - rate
        - total
    CurrencyExchangeSchema2:
      properties:
        default_currency_code:
          type: string
        rate:
          type: number
          exclusiveMinimum: 0
        total:
          type: number
      additionalProperties: false
      type: object
      required:
        - default_currency_code
        - rate
        - total
    CurrencySettings-Input:
      properties:
        default:
          $ref: '#/components/schemas/CurrencyEnum'
        exchange_rates:
          items:
            anyOf:
              - $ref: '#/components/schemas/ExchangeRate'
              - type: "null"
          type: array
      additionalProperties: false
      type: object
      required:
        - default
    CurrencySettings-Output:
      properties:
        default:
          $ref: '#/components/schemas/CurrencyEnum'
        exchange_rates:
          items:
            anyOf:
              - $ref: '#/components/schemas/ExchangeRate'
              - type: "null"
          type: array
      additionalProperties: false
      type: object
      required:
        - default
    CursorFields:
      type: string
      enum:
        - id
        - created_at
    CustomTemplateDataSchema:
      properties:
        id:
          type: string
          format: uuid
          description: ID of email template
        created_at:
          type: string
          format: date-time
          description: Template created date and time
        updated_at:
          type: string
          format: date-time
          description: Template updated date and time
        body_template:
          type: string
          description: Jinja2 compatible email body template
        is_default:
          type: boolean
          description: Is default template
        language:
          type: string
          maxLength: 4
          description: Lowercase ISO code of language
        name:
          type: string
          maxLength: 128
          description: Name of the template
        subject_template:
          type: string
          maxLength: 2048
          description: Jinja2 compatible email subject template
        type:
          type: string
          description: Document type of content
      additionalProperties: false
      type: object
      required:
        - id
        - created_at
        - updated_at
        - body_template
        - is_default
        - language
        - name
        - subject_template
        - type
    CustomTemplatesCursorFields:
      type: string
      enum:
        - type
        - name
    CustomTemplatesPaginationResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/CustomTemplateDataSchema'
          type: array
          description: All user-defined email templates
        next_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the next page of results, or `null` if there is no next page (i.e. you've reached the last page).
        prev_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the previous page of results, or `null` if there is no previous page (i.e. you've reached the first page).
      additionalProperties: false
      type: object
      required:
        - data
    CustomVatRateRequest:
      properties:
        components:
          items:
            $ref: '#/components/schemas/VatRateComponent'
          type: array
          maxItems: 10
          minItems: 1
          description: Sub-taxes included in the Custom VAT.
        name:
          type: string
          maxLength: 64
          description: Display name of the Custom VAT.
      additionalProperties: false
      type: object
      required:
        - components
        - name
    CustomVatRateResponse:
      properties:
        id:
          type: string
          format: uuid
        created_at:
          type: string
          format: date-time
          description: Time at which the Custom VAT rate was created. Timestamps follow the ISO 8601 standard.
        updated_at:
          type: string
          format: date-time
          description: Time at which the Custom VAT rate was last updated. Timestamps follow the ISO 8601 standard.
        components:
          items:
            $ref: '#/components/schemas/VatRateComponent'
          type: array
          maxItems: 10
          minItems: 1
          description: Sub-taxes included in the Custom VAT.
        created_by_entity_user_id:
          type: string
          format: uuid
          description: ID of the user that created the Custom VAT rate
        name:
          type: string
          maxLength: 64
          description: Display name of the Custom VAT.
        value:
          type: number
          description: 'Total sum of the Custom VAT rate including components. Percent multiplied by a 100. Example: 12.125% is 1212.5.'
      type: object
      required:
        - id
        - created_at
        - updated_at
        - components
        - name
        - value
    CustomVatRateResponseList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/CustomVatRateResponse'
          type: array
      type: object
      required:
        - data
    CustomVatRateUpdateRequest:
      properties:
        components:
          items:
            $ref: '#/components/schemas/VatRateComponent'
          type: array
          maxItems: 10
          minItems: 1
          description: Sub-taxes included in the Custom VAT.
        name:
          type: string
          maxLength: 64
          description: Display name of the Custom VAT.
      additionalProperties: false
      type: object
    DNSRecord:
      properties:
        is_active:
          type: boolean
        name:
          type: string
        record_purpose:
          allOf:
            - $ref: '#/components/schemas/DNSRecordPurpose'
          description: Purpose of specific entry to distinguish between various TXT entries.
        record_type:
          $ref: '#/components/schemas/DNSRecordType'
        valid:
          type: string
          description: Field reflecting validation status by Mailgun.
        value:
          type: string
      type: object
      required:
        - is_active
        - record_type
        - valid
        - value
    DNSRecordPurpose:
      type: string
      enum:
        - DKIM
        - SPF
    DNSRecordType:
      type: string
      enum:
        - TXT
        - MX
        - CNAME
    DNSRecords:
      properties:
        receiving_dns_records:
          items:
            $ref: '#/components/schemas/DNSRecord'
          type: array
          description: Set of DNS settings required by Mailgun for domain verification before emails receiving is possible.
        sending_dns_records:
          items:
            $ref: '#/components/schemas/DNSRecord'
          type: array
          description: Set of DNS settings required by Mailgun for domain verification before emails sending is possible.
      type: object
      required:
        - receiving_dns_records
        - sending_dns_records
    DataExportCursorFields:
      type: string
      enum:
        - created_at
    DateDimensionBreakdownEnum:
      type: string
      enum:
        - daily
        - weekly
        - monthly
        - quarterly
        - yearly
    DayOfMonth:
      type: string
      enum:
        - first_day
        - last_day
    DeductionItem:
      properties:
        amount:
          type: integer
          maximum: 9007199254740991
          minimum: 0
          description: The deduction amount in [minor units](https://docs.monite.com/references/currencies#minor-units).
          examples:
            - 1500
        memo:
          type: string
          maxLength: 1000
          description: Additional information about the deduction. It is displayed below the deduction line in the PDF.
        name:
          type: string
          maxLength: 100
          minLength: 1
          description: The deduction name displayed in the PDF.
          examples:
            - Referral bonus
      additionalProperties: false
      type: object
      required:
        - amount
        - name
      description: Represents a deduction or incentive applied to the total amount after VAT.
    DefaultAccountingTaxIDs:
      properties:
        deductions:
          anyOf:
            - type: string
              format: uuid
            - type: "null"
          description: ID of the accounting tax ID with which all deductions will be pushed.
      additionalProperties: false
      type: object
    DefaultLedgerAccountIDs:
      properties:
        payments:
          anyOf:
            - type: string
              format: uuid
            - type: "null"
          description: ID of the ledger account to which all payment records will be pushed. Changing this value affects only future data pushes and does not affect payment records that already exist in the accounting system.
        products:
          anyOf:
            - type: string
              format: uuid
            - type: "null"
          description: ID of the ledger account to which products without a `ledger_account_id` specified will be pushed. Changing this value affects only future data pushes and does not affect products that already exist in the accounting system.
      additionalProperties: false
      type: object
    DeliveryNoteCounterpartResource:
      properties:
        id:
          type: string
          format: uuid
          description: ID of the counterpart
        individual:
          allOf:
            - $ref: '#/components/schemas/CounterpartIndividualResponse'
          description: Individual counterpart
        language:
          allOf:
            - $ref: '#/components/schemas/LanguageCodeEnum'
          description: The language used to generate PDF documents for this counterpart.
        organization:
          allOf:
            - $ref: '#/components/schemas/CounterpartOrganizationResponse'
          description: Organization counterpart
      additionalProperties: false
      type: object
      required:
        - id
    DeliveryNoteCreateBasedOnRequest:
      properties:
        based_on:
          type: string
          format: uuid
          description: The unique ID of a previous document related to the receivable if applicable.
      additionalProperties: false
      type: object
      required:
        - based_on
    DeliveryNoteCreateLineItem:
      properties:
        product:
          allOf:
            - $ref: '#/components/schemas/DeliveryNoteLineItemProduct'
          description: Object of product. Can be used instead of product_id, created in product's catalog
        product_id:
          type: string
          format: uuid
          description: Unique identifier of the product.
        quantity:
          type: number
          maximum: 2147483647
          minimum: 0
          description: The quantity of each of the goods, materials, or services listed in the receivable.
      additionalProperties: false
      type: object
      required:
        - quantity
    DeliveryNoteCreateRequest:
      properties:
        counterpart_address_id:
          type: string
          format: uuid
          description: ID of the counterpart address selected for the delivery note
        counterpart_id:
          type: string
          format: uuid
          description: ID of the counterpart
        delivery_date:
          type: string
          format: date
          description: Date of delivery
        delivery_number:
          type: string
          minLength: 1
          description: Delivery number
        display_signature_placeholder:
          type: boolean
          description: Whether to display a signature placeholder in the generated PDF
          default: false
        document_id:
          type: string
          maxLength: 100
          minLength: 1
          description: Document ID of the delivery note
        line_items:
          items:
            $ref: '#/components/schemas/DeliveryNoteCreateLineItem'
          type: array
          maxItems: 100
          minItems: 1
          description: List of line items in the delivery note
        memo:
          type: string
          minLength: 1
          description: An optional note for the customer, displayed above the line items table in the PDF.
      additionalProperties: false
      type: object
      required:
        - counterpart_address_id
        - counterpart_id
        - line_items
      description: Delivery Note creation request schema
      examples:
        - counterpart_id: a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6
          counterpart_address_id: a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6
          line_items:
            - quantity: 10
              product_id: a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6
            - quantity: 20
              product:
                name: Product 2
                description: Description of product 2
                measure_unit:
                  name: pcs
                  description: pieces
          delivery_date: "2025-01-01"
          delivery_number: 102-2025-0987
          memo: This is a memo
          display_signature_placeholder: true
    DeliveryNoteCursorFields:
      type: string
      enum:
        - status
        - document_id
        - delivery_date
        - created_at
    DeliveryNoteLineItemProduct:
      properties:
        description:
          type: string
          maxLength: 2000
          description: Description of the product.
        measure_unit:
          $ref: '#/components/schemas/UnitRequest'
        name:
          type: string
          maxLength: 100
          minLength: 1
          description: Name of the product.
      additionalProperties: false
      type: object
      required:
        - name
    DeliveryNoteLineItemResource:
      properties:
        product:
          $ref: '#/components/schemas/DeliveryNoteLineItemProduct'
        quantity:
          type: number
          maximum: 2147483647
          minimum: 0
          description: The quantity of each of the goods, materials, or services listed in the receivable.
      type: object
      required:
        - product
        - quantity
    DeliveryNoteResource:
      properties:
        id:
          type: string
          format: uuid
          description: Unique ID of the delivery note
        created_at:
          type: string
          format: date-time
          description: Time at which the delivery note was created. Timestamps follow the ISO 8601 standard.
        updated_at:
          type: string
          format: date-time
          description: Time at which the delivery note was last updated. Timestamps follow the ISO 8601 standard.
        based_on:
          type: string
          format: uuid
          description: The unique ID of a previous document related to the delivery note if applicable.
        based_on_document_id:
          type: string
          description: The unique document ID of a previous document related to the delivery note if applicable.
        counterpart:
          allOf:
            - $ref: '#/components/schemas/DeliveryNoteCounterpartResource'
          description: Counterpart of the delivery note
        counterpart_address:
          allOf:
            - $ref: '#/components/schemas/ReceivablesCounterpartAddress'
          description: Address of the counterpart
        counterpart_id:
          type: string
          format: uuid
          description: ID of the counterpart
        created_by_entity_user_id:
          type: string
          format: uuid
          description: ID of the user that created the delivery note
        delivery_date:
          type: string
          format: date
          description: Date of delivery
        delivery_number:
          type: string
          description: Delivery number
        display_signature_placeholder:
          type: boolean
          description: Whether to display a signature placeholder in the generated PDF
        document_id:
          type: string
          description: Document ID of the delivery note
        entity:
          anyOf:
            - $ref: '#/components/schemas/ReceivableEntityOrganization'
            - $ref: '#/components/schemas/ReceivableEntityIndividual'
          description: Entity that created the delivery note
        entity_address:
          allOf:
            - $ref: '#/components/schemas/ReceivableEntityAddressSchema'
          description: Address of the entity that created the delivery note
        entity_id:
          type: string
          format: uuid
          description: ID of the entity that created the delivery note
        file_language:
          allOf:
            - $ref: '#/components/schemas/LanguageCodeEnum'
          description: The language of the customer-facing PDF file (`file_url`). The value matches the counterpart's `language` at the time when this PDF file was generated.
        file_url:
          type: string
          description: The delivery note's PDF URL in the customer-facing language.
        line_items:
          items:
            $ref: '#/components/schemas/DeliveryNoteLineItemResource'
          type: array
          minItems: 1
          description: List of line items in the delivery note
        memo:
          type: string
          description: An optional note for the customer, displayed above the line items table in the PDF.
        original_file_language:
          allOf:
            - $ref: '#/components/schemas/LanguageCodeEnum'
          description: The language of the entity's copy of the PDF file (`original_file_url`). The value matches the entity's `language` at the time when this PDF file was generated.
        original_file_url:
          type: string
          description: The delivery note's PDF URL in the entity's language.
        status:
          allOf:
            - $ref: '#/components/schemas/DeliveryNoteStatusEnum'
          description: Status of the delivery note
      type: object
      required:
        - id
        - created_at
        - updated_at
        - counterpart
        - counterpart_address
        - counterpart_id
        - display_signature_placeholder
        - document_id
        - entity
        - entity_address
        - entity_id
        - file_language
        - line_items
        - original_file_language
        - status
      example:
        id: a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6
        status: created
        created_at: "2022-01-01T00:00:00Z"
        updated_at: "2022-01-01T00:00:00Z"
        entity_id: a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6
        entity:
          name: Entity Name
        entity_address:
          line1: Entity Street
          city: Entity City
          postal_code: "123009"
          country: DE
        created_by_entity_user_id: a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6
        counterpart_id: a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6
        counterpart:
          name: Counterpart Name
        counterpart_address:
          line1: Counterpart Street
          city: Counterpart City
          postal_code: "123009"
          country: DE
        line_items:
          - quantity: 20
            product:
              name: Product Name
              description: Description of product
              measure_unit:
                name: pcs
                description: Pieces
        document_id: DN-2022-01-01-0001
        delivery_date: "2022-01-01"
        delivery_number: 102-2022-0987
        memo: This is a memo
        display_signature_placeholder: true
        file_url: https://example.com/delivery_note.pdf
        original_file_url: https://example.com/delivery_note_original.pdf
        file_language: en
        original_file_language: de
        based_on: a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6
        based_on_document_id: IN-2022-01-01-0001
    DeliveryNoteResourceList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/DeliveryNoteResource'
          type: array
          description: List of delivery notes
        next_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the next page of results, or `null` if there is no next page (i.e. you've reached the last page).
        prev_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the previous page of results, or `null` if there is no previous page (i.e. you've reached the first page).
      additionalProperties: false
      type: object
      required:
        - data
    DeliveryNoteStatusEnum:
      type: string
      enum:
        - created
        - canceled
        - delivered
    DeliveryNoteUpdateRequest:
      properties:
        counterpart_address_id:
          type: string
          format: uuid
          description: ID of the counterpart address selected for the delivery note
        counterpart_id:
          type: string
          format: uuid
          description: ID of the counterpart
        delivery_date:
          type: string
          format: date
          description: Date of delivery
        delivery_number:
          type: string
          description: Delivery number
        display_signature_placeholder:
          type: boolean
          description: Whether to display a signature placeholder in the generated PDF
        line_items:
          items:
            $ref: '#/components/schemas/DeliveryNoteCreateLineItem'
          type: array
          maxItems: 100
          minItems: 1
          description: List of line items in the delivery note
        memo:
          type: string
          description: An optional note for the customer, displayed above the line items table in the PDF.
      additionalProperties: false
      type: object
      description: Delivery Note update request schema
    Discount:
      properties:
        amount:
          type: integer
          maximum: 9007199254740991
          minimum: 0
          description: The actual discount of the product in [minor units](https://docs.monite.com/references/currencies#minor-units) if type field equals amount, else in percent minor units
        type:
          allOf:
            - $ref: '#/components/schemas/DiscountType'
          description: The field specifies whether to use product currency or %.
      additionalProperties: false
      type: object
      required:
        - amount
        - type
    DiscountResponse:
      properties:
        amount:
          type: integer
          maximum: 9007199254740991
          minimum: 0
          description: The actual discount of the product in [minor units](https://docs.monite.com/references/currencies#minor-units) if type field equals amount, else in percent minor units
        type:
          allOf:
            - $ref: '#/components/schemas/DiscountType'
          description: The field specifies whether to use product currency or %.
        value:
          type: integer
          maximum: 9007199254740991
          minimum: 0
          description: The monetary amount of the discount, in [minor units](https://docs.monite.com/references/currencies#minor-units). If the discount `type` is `amount`, this value is the same as the `amount` value. If `type` is `percentage`, the value is the calculated discount amount.
      additionalProperties: false
      type: object
      required:
        - amount
        - type
    DiscountType:
      type: string
      enum:
        - amount
        - percentage
    DocumentExportResponseSchema:
      properties:
        id:
          type: string
          format: uuid
        count:
          type: integer
        created_by_entity_user_id:
          type: string
          format: uuid
        end_datetime:
          type: string
          format: date-time
        entity_id:
          type: string
          format: uuid
        format:
          type: string
        language:
          type: string
        source_url:
          type: string
          maxLength: 2083
          minLength: 1
          format: uri
        start_datetime:
          type: string
          format: date-time
        status:
          type: string
      type: object
      required:
        - id
        - count
        - entity_id
        - format
        - language
        - status
    DocumentIDSeparators:
      type: string
      enum:
        - /
        - '-'
        - '|'
        - .
        - ""
    DocumentIDsSettings:
      properties:
        document_type_prefix:
          $ref: '#/components/schemas/DocumentTypePrefix'
          description: Prefixes for each document_type.
          default:
            credit_note: CN
            delivery_note: DN
            invoice: INV
            purchase_order: PO
            quote: Q
        include_date:
          type: boolean
          description: Optionally add 4-digit of the current year.
          default: false
        min_digits:
          type: integer
          maximum: 25
          minimum: 1
          description: Minimal size of number in document ID Number will be left padded with zeros if less.
          default: 5
        prefix:
          anyOf:
            - type: string
              maxLength: 25
              minLength: 1
            - type: "null"
          description: Optional prefix. Does not substitute document_type prefix.
        separator:
          $ref: '#/components/schemas/DocumentIDSeparators'
          description: Which character should separate each part of the document_id.
          default: '-'
      type: object
    DocumentIDsSettingsNextNumber:
      properties:
        credit_note:
          anyOf:
            - type: integer
              maximum: 9223372036854776000
              minimum: 1
            - type: "null"
        delivery_note:
          anyOf:
            - type: integer
              maximum: 9223372036854776000
              minimum: 1
            - type: "null"
        invoice:
          anyOf:
            - type: integer
              maximum: 9223372036854776000
              minimum: 1
            - type: "null"
        purchase_order:
          anyOf:
            - type: integer
              maximum: 9223372036854776000
              minimum: 1
            - type: "null"
        quote:
          anyOf:
            - type: integer
              maximum: 9223372036854776000
              minimum: 1
            - type: "null"
      additionalProperties: false
      type: object
    DocumentIDsSettingsRequest:
      properties:
        document_type_prefix:
          $ref: '#/components/schemas/DocumentTypePrefix'
          description: Prefixes for each document_type.
          default:
            credit_note: CN
            delivery_note: DN
            invoice: INV
            purchase_order: PO
            quote: Q
        include_date:
          type: boolean
          description: Optionally add 4-digit of the current year.
          default: false
        min_digits:
          type: integer
          maximum: 25
          minimum: 1
          description: Minimal size of number in document ID Number will be left padded with zeros if less.
          default: 5
        next_number:
          anyOf:
            - $ref: '#/components/schemas/DocumentIDsSettingsNextNumber'
            - type: "null"
          description: Write-only field. Changes which number will be issued next. Can't be less than the last issued document number.
        prefix:
          anyOf:
            - type: string
              maxLength: 25
              minLength: 1
            - type: "null"
          description: Optional prefix. Does not substitute document_type prefix.
        separator:
          $ref: '#/components/schemas/DocumentIDSeparators'
          description: Which character should separate each part of the document_id.
          default: '-'
      type: object
    DocumentObjectTypeRequestEnum:
      type: string
      enum:
        - receivables_quote
        - receivables_invoice
        - receivables_paid_invoice
        - receivables_credit_note
        - receivables_discount_reminder
        - receivables_final_reminder
        - payables_purchase_order
        - payables_notify_approver
        - payables_notify_payer
    DocumentRenderingSettings:
      properties:
        credit_note:
          allOf:
            - $ref: '#/components/schemas/CreditNoteRenderingSettings'
          description: Credit note-specific rendering settings for PDF documents.
        display_entity_bank_account:
          type: boolean
          description: If set to `true`, the entity's bank account details will be displayed on the PDF documents. Defaults to `true`.
          default: true
        display_line_items:
          type: boolean
          description: If set to `true`, the line items table will be displayed on the quote PDF. Defaults to `true`.
          default: true
        invoice:
          allOf:
            - $ref: '#/components/schemas/InvoiceRenderingSettings'
          description: Invoice-specific rendering settings for PDF documents.
        line_items:
          allOf:
            - $ref: '#/components/schemas/LineItemsRenderingSettings'
          description: 'Settings for rendering line items in PDF documents. '
        quote:
          allOf:
            - $ref: '#/components/schemas/QuoteRenderingSettings'
          description: Quote-specific rendering settings for PDF documents.
      type: object
      description: Settings for rendering documents in PDF format, including settings for line items and specific document types.
    DocumentRenderingSettings-Input:
      properties:
        credit_note:
          $ref: '#/components/schemas/CreditNoteRenderingSettings'
          description: Credit note-specific rendering settings for PDF documents.
        display_entity_bank_account:
          type: boolean
          description: If set to `true`, the entity's bank account details will be displayed on the PDF documents. Defaults to `true`.
          default: true
        display_line_items:
          type: boolean
          description: If set to `true`, the line items table will be displayed on the quote PDF. Defaults to `true`.
          default: true
        invoice:
          $ref: '#/components/schemas/InvoiceRenderingSettings'
          description: Invoice-specific rendering settings for PDF documents.
        line_items:
          $ref: '#/components/schemas/LineItemsRenderingSettings'
          description: 'Settings for rendering line items in PDF documents. '
        quote:
          $ref: '#/components/schemas/QuoteRenderingSettings'
          description: Quote-specific rendering settings for PDF documents.
      additionalProperties: false
      type: object
      description: |-
        Rendering settings that control how different parts of the PDF documents are displayed.
        Includes common settings for all document types such as quotes, invoices, and credit notes and document
        type-specific settings that are defined in their respective objects.
    DocumentRenderingSettings-Output:
      properties:
        credit_note:
          $ref: '#/components/schemas/CreditNoteRenderingSettings'
          description: Credit note-specific rendering settings for PDF documents.
        display_entity_bank_account:
          type: boolean
          description: If set to `true`, the entity's bank account details will be displayed on the PDF documents. Defaults to `true`.
          default: true
        display_line_items:
          type: boolean
          description: If set to `true`, the line items table will be displayed on the quote PDF. Defaults to `true`.
          default: true
        invoice:
          $ref: '#/components/schemas/InvoiceRenderingSettings'
          description: Invoice-specific rendering settings for PDF documents.
        line_items:
          $ref: '#/components/schemas/LineItemsRenderingSettings'
          description: 'Settings for rendering line items in PDF documents. '
        quote:
          $ref: '#/components/schemas/QuoteRenderingSettings'
          description: Quote-specific rendering settings for PDF documents.
      additionalProperties: false
      type: object
      description: |-
        Rendering settings that control how different parts of the PDF documents are displayed.
        Includes common settings for all document types such as quotes, invoices, and credit notes and document
        type-specific settings that are defined in their respective objects.
    DocumentTypeEnum:
      type: string
      enum:
        - quote
        - invoice
        - credit_note
        - discount_reminder
        - final_reminder
        - payables_purchase_order
        - overdue_reminder
    DocumentTypePrefix:
      properties:
        credit_note:
          type: string
          maxLength: 25
          minLength: 1
          default: CN
        delivery_note:
          type: string
          maxLength: 25
          minLength: 1
          default: DN
        invoice:
          type: string
          maxLength: 25
          minLength: 1
          default: INV
        purchase_order:
          type: string
          maxLength: 25
          minLength: 1
          default: PO
        quote:
          type: string
          maxLength: 25
          minLength: 1
          default: Q
      additionalProperties: false
      type: object
    DomainListResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/DomainResponse'
          type: array
      type: object
      required:
        - data
    DomainRequest:
      properties:
        domain:
          type: string
          format: hostname
          description: The domain name, such as `mail.mycompany.com`. Can contain only alphanumeric characters (A..Z a..z 0..9), dots (.), and hyphens (-). Each segment of the domain name must start and end with either a letter or a digit.
      additionalProperties: false
      type: object
      required:
        - domain
    DomainResponse:
      properties:
        id:
          type: string
          format: uuid
          description: Entry UUID
        dedicated_ip:
          type: string
          description: A dedicated IP address assigned to this mailbox and used to send outgoing email.
        dns_records:
          anyOf:
            - $ref: '#/components/schemas/DNSRecords'
            - type: object
        domain:
          type: string
          format: hostname
          description: The domain name.
        last_updated_at:
          type: string
          format: date-time
          description: The time the domain was updated for the last time
        status:
          type: string
      type: object
      required:
        - id
        - dns_records
        - domain
        - status
    EInvoicingRetrieveListData:
      properties:
        data:
          items:
            $ref: '#/components/schemas/EinvoicingConnectionResponse'
          type: array
          description: List of connections for the current page
      additionalProperties: false
      type: object
      required:
        - data
    EinvoiceSchemaTypeEnum:
      type: string
      enum:
        - DE:VAT
        - NL:KVK
        - NL:VAT
        - BE:VAT
        - BE:EN
    EinvoicingAddress:
      properties:
        address_line1:
          type: string
          description: Street address line 1
        address_line2:
          type: string
          description: Street address line 2
        city:
          type: string
          description: City name
        country:
          allOf:
            - $ref: '#/components/schemas/AllowedEinvoicingCountryCodes'
          description: Country name
        postal_code:
          type: string
          description: Postal/ZIP code
        state:
          type: string
          description: State/Province/County
      additionalProperties: false
      type: object
      required:
        - address_line1
        - city
        - country
        - postal_code
    EinvoicingConnectionCreateRequest:
      properties:
        address:
          allOf:
            - $ref: '#/components/schemas/EinvoicingAddress'
          description: Integration Address
        entity_vat_id_id:
          type: string
          format: uuid
          description: Entity VAT ID identifier for the integration
        is_receiver:
          type: boolean
          description: Set to `true` if the entity needs to receive e-invoices.
          default: true
        is_sender:
          type: boolean
          description: Set to `true` if the entity needs to send e-invoices. Either `is_sender` or `is_receiver` or both must be `true`.
          default: true
      additionalProperties: false
      type: object
      required:
        - address
    EinvoicingConnectionResponse:
      properties:
        id:
          type: string
          format: uuid
        created_at:
          type: string
          format: date-time
          description: Date of Integration
        updated_at:
          type: string
          format: date-time
          description: Last update of Integration
        address:
          allOf:
            - $ref: '#/components/schemas/EinvoicingAddress'
          description: Integration Address
        credentials:
          items:
            $ref: '#/components/schemas/EinvoicingNetworkCredentialsResponse'
          type: array
          description: List of credentials
        entity_id:
          type: string
          format: uuid
          description: ID of the entity
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
        is_receiver:
          type: boolean
          description: Set to `true` if the entity needs to receive e-invoices.
          default: true
        is_sender:
          type: boolean
          description: Set to `true` if the entity needs to send e-invoices. Either `is_sender` or `is_receiver` or both must be `true`.
          default: true
        legal_name:
          type: string
          description: Legal name of the Entity
        provider_id:
          type: string
          description: ID assigned by integration partner
          example: "12345"
        status:
          type: string
          description: Current status of the integration
          example: active
      additionalProperties: false
      type: object
      required:
        - id
        - created_at
        - updated_at
        - address
        - credentials
        - entity_id
        - legal_name
        - status
    EinvoicingConnectionUpdateRequest:
      properties:
        address:
          allOf:
            - $ref: '#/components/schemas/UpdateEinvoicingAddress'
          description: Integration Address
        is_receiver:
          type: boolean
          description: Set to `true` if the entity needs to receive e-invoices.
        is_sender:
          type: boolean
          description: Set to `true` if the entity needs to send e-invoices. Either `is_sender` or `is_receiver` or both must be `true`.
      additionalProperties: false
      type: object
    EinvoicingCredentials:
      properties:
        id:
          type: string
          format: uuid
        network_identifier:
          type: string
        network_schema:
          type: string
      type: object
      required:
        - id
        - network_identifier
        - network_schema
    EinvoicingNetworkCredentialsCreateRequest:
      properties:
        network_credentials_identifier:
          type: string
          description: Network participant identifier
          example: "12345678"
        network_credentials_schema:
          allOf:
            - $ref: '#/components/schemas/EinvoiceSchemaTypeEnum'
          description: Network scheme identifier
          example: NL:KVK
      additionalProperties: false
      type: object
      required:
        - network_credentials_identifier
        - network_credentials_schema
    EinvoicingNetworkCredentialsResponse:
      properties:
        id:
          type: string
          format: uuid
          description: ID of the credentials
        created_at:
          type: string
          format: date-time
          description: Date of credential
        updated_at:
          type: string
          format: date-time
          description: Last update of credential
        einvoicing_connection_id:
          type: string
          format: uuid
          description: ID of the Einvoicing connection
        network_credentials_identifier:
          type: string
          description: Network participant identifier
          example: "12345678"
        network_credentials_schema:
          allOf:
            - $ref: '#/components/schemas/EinvoiceSchemaTypeEnum'
          description: Network scheme identifier
          example: NL:KVK
      type: object
      required:
        - id
        - created_at
        - updated_at
        - einvoicing_connection_id
        - network_credentials_identifier
        - network_credentials_schema
    EnabledPaymentMethods:
      properties:
        payment_methods:
          items:
            $ref: '#/components/schemas/MoniteAllPaymentMethodsTypes'
          type: array
          minItems: 1
          uniqueItems: true
          description: Deprecated. Replaced by `payment_methods_receive`.
          deprecated: true
        payment_methods_receive:
          items:
            $ref: '#/components/schemas/MoniteAllPaymentMethodsTypes'
          type: array
          minItems: 1
          uniqueItems: true
          description: |-
            Payment methods to receive money from customers. Supported payment methods [vary per country](https://docs.monite.com/payments/payment-methods).

            `card` includes card payments, Apple Pay, and Google Pay. The values `applepay` and `googlepay` are deprecated and unused.

            `sofort` is deprecated and replaced by `klarna`.
        payment_methods_send:
          items:
            $ref: '#/components/schemas/MoniteAllPaymentMethodsTypes'
          type: array
          minItems: 1
          uniqueItems: true
          description: |-
            Only for entities in the EU and UK. Payment methods used to make payments to vendors.

            Currently only `sepa_credit` is supported for making payments.
      additionalProperties: false
      type: object
    EntityAddressResponseSchema:
      properties:
        city:
          type: string
          maxLength: 255
          description: A city (a full name) where the entity is registered
        country:
          $ref: '#/components/schemas/AllowedCountries'
          description: 'A country name (as ISO code) where the entity is registered '
          examples:
            - DE
        line1:
          type: string
          maxLength: 255
          description: A street where the entity is registered
        line2:
          anyOf:
            - type: string
              maxLength: 100
            - type: "null"
          description: An alternative street used by the entity
        postal_code:
          type: string
          maxLength: 10
          description: A postal code of the address where the entity is registered
        state:
          anyOf:
            - type: string
            - type: "null"
          description: A state in a country where the entity is registered
      additionalProperties: false
      type: object
      required:
        - city
        - country
        - line1
        - postal_code
      description: A schema represents address info of the entity
    EntityAddressSchema:
      properties:
        city:
          type: string
          maxLength: 100
          minLength: 1
          description: A city (a full name) where the entity is registered
        country:
          $ref: '#/components/schemas/AllowedCountries'
          description: 'A country name (as ISO code) where the entity is registered '
          examples:
            - DE
        line1:
          type: string
          maxLength: 200
          minLength: 1
          description: A street where the entity is registered
        line2:
          anyOf:
            - type: string
              maxLength: 100
              minLength: 1
            - type: "null"
          description: An alternative street used by the entity
        postal_code:
          type: string
          maxLength: 10
          minLength: 1
          description: A postal code of the address where the entity is registered
        state:
          anyOf:
            - type: string
              maxLength: 100
              minLength: 1
            - type: "null"
          description: State, county, province, prefecture, region, or similar component of the entity's address. For US entities, `state` is required and must be a two-letter [USPS state abbreviation](https://pe.usps.com/text/pub28/28apb.htm), for example, NY or CA.
      additionalProperties: false
      type: object
      required:
        - city
        - country
        - line1
        - postal_code
      description: A schema represents address info of the entity
    EntityBankAccountPaginationResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/EntityBankAccountResponse'
          type: array
          description: A list of an entity's bank accounts.
        next_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the next page of results, or `null` if there is no next page (i.e. you've reached the last page).
        prev_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the previous page of results, or `null` if there is no previous page (i.e. you've reached the first page).
      additionalProperties: false
      type: object
      required:
        - data
      description: A paginated list of an entity's bank accounts.
    EntityBankAccountResponse:
      properties:
        id:
          type: string
          format: uuid
          description: Unique ID of the bank account.
        account_holder_name:
          type: string
          description: |-
            The name of the person or business that owns this bank account. Required in the following cases:
            * the account currency is GBP or USD,
            * the account currency is EUR and the entity wishes to receive SEPA Credit transfers to this account.
          example: Cayla Lloyd
        account_number:
          type: string
          description: The bank account number. Required if the account currency is GBP or USD. UK account numbers typically contain 8 digits. US bank account numbers contain 9 to 12 digits.
          example: "12345678"
        account_number_last4:
          type: string
          description: The last 4 digits of bank account number. Required if the account currency is GBP or USD and there is no information about the full account number.
          example: "5678"
        bank_name:
          type: string
          description: The bank name.
          example: Deutsche Bank
        bic:
          type: string
          description: |-
            The SWIFT/BIC code of the bank. Can be either 8 or 11 characters long. Monite verifies the BIC length, country code, and whether the structure conforms to ISO 9362.

            If `bic` is specified, `iban` must also be specified.
          example: DEUTDEFFXXX
        country:
          allOf:
            - $ref: '#/components/schemas/AllowedCountries'
          description: The country in which the bank account is registered, repsesented as a two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
          example: DE
        currency:
          allOf:
            - $ref: '#/components/schemas/CurrencyEnum'
          description: The currency of the bank account, represented as a three-letter ISO [currency code](https://docs.monite.com/references/currencies).
          example: EUR
        display_name:
          type: string
          description: User-defined name of this bank account, such as 'Primary account' or 'Savings account'.
          example: Primary account
        iban:
          type: string
          description: The IBAN of the bank account, up to 34 characters. Required if the account currency is EUR. Monite verifies the IBAN length, checksum digits, and country-specific format according to ISO 13616.
          example: DE74500700100100000900
        is_default_for_currency:
          type: boolean
          description: Indicates whether this bank account is the default one for its currency.
          default: false
        open_banking_verification_error:
          type: string
          description: Last verification error message
        open_banking_verification_status:
          allOf:
            - $ref: '#/components/schemas/OpenBankingVerificationStatusEnum'
          description: Open banking verification status
        routing_number:
          type: string
          description: The bank's routing transit number (RTN) or branch code. Required if the account currency is USD. US routing numbers consist of 9 digits.
        sort_code:
          type: string
          description: The bank's sort code. Required if the account currency is GBP.
          example: "123456"
        was_created_by_user_id:
          type: string
          format: uuid
          description: ID of the entity user who added this bank account, or `null` if it was added using a partner access token.
      type: object
      required:
        - id
        - open_banking_verification_status
      description: Represents a bank account owned by an entity.
    EntityBusinessStructure:
      type: string
      enum:
        - incorporated_partnership
        - unincorporated_partnership
        - public_corporation
        - private_corporation
        - sole_proprietorship
        - single_member_llc
        - multi_member_llc
        - private_partnership
        - unincorporated_association
        - public_partnership
    EntityCursorFields:
      type: string
      enum:
        - created_at
        - updated_at
    EntityFields:
      properties:
        tax_id:
          allOf:
            - $ref: '#/components/schemas/FieldSchema'
          description: Object describing the required field `tax_id` of an entity
          default:
            description: The entity's taxpayer identification number or tax ID. This field is required for entities that are non-VAT registered.
            required: false
        vat_id:
          allOf:
            - $ref: '#/components/schemas/FieldSchema'
          description: Object describing the required field `vat_id` of an entity
          default:
            description: The entity's VAT (Value Added Tax) identification number. This field is required for entities that are VAT-registered.
            required: false
      additionalProperties: false
      type: object
    EntityIndividualResponse:
      properties:
        id:
          type: string
          format: uuid
          description: UUID entity ID
        created_at:
          type: string
          format: date-time
          description: UTC datetime
        updated_at:
          type: string
          format: date-time
          description: UTC datetime
        address:
          $ref: '#/components/schemas/EntityAddressResponseSchema'
          description: An address description of the entity
        email:
          anyOf:
            - type: string
            - type: "null"
          description: An official email address of the entity
        individual:
          $ref: '#/components/schemas/IndividualResponseSchema'
          description: A set of metadata describing an individual
        logo:
          anyOf:
            - $ref: '#/components/schemas/FileSchema2'
            - type: "null"
          description: An object containing the entity logo URL and other image details, or `null` if the entity does not have a logo.
          examples:
            - id: 753fbb53-2347-4f47-9bbe-21c9b68b81a1
              created_at: "2025-03-11T13:13:24.841010Z"
              file_type: entity-logo
              name: logo.png
              region: eu-central-1
              md5: 07098e3581e0d599c15121f5634ea124
              mimetype: image/png
              url: https://bucketname.amazonaws.com/path/to/logo-image.png
              size: 63643
              previews: []
              pages: []
        phone:
          anyOf:
            - type: string
              maxLength: 100
            - type: "null"
          description: A phone number of the entity
        registration_authority:
          anyOf:
            - type: string
              maxLength: 100
              minLength: 1
            - type: "null"
          description: (Germany only) The name of the local district court (_Amtsgericht_) where the entity is registered. Required if `registration_number` is provided.
          examples:
            - Amtsgericht Charlottenburg
        registration_number:
          anyOf:
            - type: string
              maxLength: 100
              minLength: 1
            - type: "null"
          description: (Germany only) The entity's commercial register number (_Handelsregisternummer_) in the German Commercial Register, if available.
          examples:
            - HRB 202324
        status:
          $ref: '#/components/schemas/EntityStatusEnum'
          description: record status, 'active' by default
        tax_id:
          anyOf:
            - type: string
              maxLength: 30
            - type: "null"
          description: The entity's taxpayer identification number or tax ID. This field is required for entities that are non-VAT registered.
        type:
          type: string
          const: individual
          description: A type for an individual
        website:
          anyOf:
            - type: string
              maxLength: 2083
              minLength: 1
              format: uri
            - type: "null"
          description: A website of the entity
      type: object
      required:
        - id
        - created_at
        - updated_at
        - address
        - individual
        - status
        - type
    EntityMailSettings:
      properties:
        reply_to:
          anyOf:
            - items:
                type: string
                format: email
              type: array
            - type: "null"
          description: Reply-to email addresses for outgoing entity emails. When set, recipients can reply directly to these addresses instead of the sender's email address. Used for invoices, reminders, and other automated emails.
          examples:
            - - support@example.com
            - - billing@example.com
              - support@example.com
      additionalProperties: false
      type: object
      description: Email settings for entity
    EntityOnboardingDataRequest:
      properties:
        business_profile:
          anyOf:
            - $ref: '#/components/schemas/BusinessProfile-Input'
            - type: "null"
          description: Business information about the entity.
        ownership_declaration:
          anyOf:
            - $ref: '#/components/schemas/OwnershipDeclaration-Input'
            - type: "null"
          description: Used to attest that the beneficial owner information provided is both current and correct.
        tos_acceptance:
          anyOf:
            - $ref: '#/components/schemas/TermsOfServiceAcceptance-Input'
            - type: "null"
          description: Details on the entity's acceptance of the service agreement.
        treasury_tos_acceptance:
          anyOf:
            - $ref: '#/components/schemas/TermsOfServiceAcceptance-Input'
            - type: "null"
          description: Unused. Reserved for future use.
      additionalProperties: false
      type: object
    EntityOnboardingDataResponse:
      properties:
        business_profile:
          anyOf:
            - $ref: '#/components/schemas/BusinessProfile-Output'
            - type: "null"
          description: Business information about the entity.
        ownership_declaration:
          anyOf:
            - $ref: '#/components/schemas/OwnershipDeclaration-Output'
            - type: "null"
          description: Used to attest that the beneficial owner information provided is both current and correct.
        tos_acceptance:
          anyOf:
            - $ref: '#/components/schemas/TermsOfServiceAcceptance-Output'
            - type: "null"
          description: Details on the entity's acceptance of the service agreement.
        treasury_tos_acceptance:
          anyOf:
            - $ref: '#/components/schemas/TermsOfServiceAcceptance-Output'
            - type: "null"
          description: Unused. Reserved for future use.
      type: object
    EntityOnboardingDocuments:
      properties:
        verification_document_front:
          type: string
          format: binary
        verification_document_back:
          type: string
          format: binary
        additional_verification_document_front:
          type: string
          format: binary
        additional_verification_document_back:
          type: string
          format: binary
        bank_account_ownership_verification:
          items:
            type: string
            format: binary
          type: array
          minItems: 1
        company_license:
          items:
            type: string
            format: binary
          type: array
          minItems: 1
        company_memorandum_of_association:
          items:
            type: string
            format: binary
          type: array
          minItems: 1
        company_ministerial_decree:
          items:
            type: string
            format: binary
          type: array
          minItems: 1
        company_registration_verification:
          items:
            type: string
            format: binary
          type: array
          minItems: 1
        company_tax_id_verification:
          items:
            type: string
            format: binary
          type: array
          minItems: 1
        proof_of_registration:
          items:
            type: string
            format: binary
          type: array
          minItems: 1
      type: object
    EntityOnboardingDocumentsPayload:
      properties:
        additional_verification_document_back:
          type: string
          format: uuid
        additional_verification_document_front:
          type: string
          format: uuid
        bank_account_ownership_verification:
          items:
            type: string
            format: uuid
          type: array
          minItems: 1
        company_license:
          items:
            type: string
            format: uuid
          type: array
          minItems: 1
        company_memorandum_of_association:
          items:
            type: string
            format: uuid
          type: array
          minItems: 1
        company_ministerial_decree:
          items:
            type: string
            format: uuid
          type: array
          minItems: 1
        company_registration_verification:
          items:
            type: string
            format: uuid
          type: array
          minItems: 1
        company_tax_id_verification:
          items:
            type: string
            format: uuid
          type: array
          minItems: 1
        proof_of_registration:
          items:
            type: string
            format: uuid
          type: array
          minItems: 1
        verification_document_back:
          type: string
          format: uuid
        verification_document_front:
          type: string
          format: uuid
      additionalProperties: false
      type: object
    EntityOrganizationResponse:
      properties:
        id:
          type: string
          format: uuid
          description: UUID entity ID
        created_at:
          type: string
          format: date-time
          description: UTC datetime
        updated_at:
          type: string
          format: date-time
          description: UTC datetime
        address:
          $ref: '#/components/schemas/EntityAddressResponseSchema'
          description: An address description of the entity
        email:
          anyOf:
            - type: string
            - type: "null"
          description: An official email address of the entity
        logo:
          anyOf:
            - $ref: '#/components/schemas/FileSchema2'
            - type: "null"
          description: An object containing the entity logo URL and other image details, or `null` if the entity does not have a logo.
          examples:
            - id: 753fbb53-2347-4f47-9bbe-21c9b68b81a1
              created_at: "2025-03-11T13:13:24.841010Z"
              file_type: entity-logo
              name: logo.png
              region: eu-central-1
              md5: 07098e3581e0d599c15121f5634ea124
              mimetype: image/png
              url: https://bucketname.amazonaws.com/path/to/logo-image.png
              size: 63643
              previews: []
              pages: []
        organization:
          $ref: '#/components/schemas/OrganizationResponseSchema'
          description: A set of metadata describing an organization
        phone:
          anyOf:
            - type: string
              maxLength: 100
            - type: "null"
          description: A phone number of the entity
        registration_authority:
          anyOf:
            - type: string
              maxLength: 100
              minLength: 1
            - type: "null"
          description: (Germany only) The name of the local district court (_Amtsgericht_) where the entity is registered. Required if `registration_number` is provided.
          examples:
            - Amtsgericht Charlottenburg
        registration_number:
          anyOf:
            - type: string
              maxLength: 100
              minLength: 1
            - type: "null"
          description: (Germany only) The entity's commercial register number (_Handelsregisternummer_) in the German Commercial Register, if available.
          examples:
            - HRB 202324
        status:
          $ref: '#/components/schemas/EntityStatusEnum'
          description: record status, 'active' by default
        tax_id:
          anyOf:
            - type: string
              maxLength: 30
            - type: "null"
          description: The entity's taxpayer identification number or tax ID. This field is required for entities that are non-VAT registered.
        type:
          type: string
          const: organization
          description: A type for an organization
        website:
          anyOf:
            - type: string
              maxLength: 2083
              minLength: 1
              format: uri
            - type: "null"
          description: A website of the entity
      type: object
      required:
        - id
        - created_at
        - updated_at
        - address
        - organization
        - status
        - type
    EntityPaginationResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/EntityResponse'
          type: array
          description: A set of entities of different types returned per page
        next_pagination_token:
          anyOf:
            - type: string
            - type: "null"
          description: A token that can be sent in the `pagination_token` query parameter to get the next page of results, or `null` if there is no next page (i.e. you've reached the last page).
        prev_pagination_token:
          anyOf:
            - type: string
            - type: "null"
          description: A token that can be sent in the `pagination_token` query parameter to get the previous page of results, or `null` if there is no previous page (i.e. you've reached the first page).
      type: object
      required:
        - data
    EntityResponse:
      oneOf:
        - $ref: '#/components/schemas/EntityOrganizationResponse'
        - $ref: '#/components/schemas/EntityIndividualResponse'
      description: A schema for a response after creation of an entity of different types
      discriminator:
        propertyName: type
        mapping:
          individual: '#/components/schemas/EntityIndividualResponse'
          organization: '#/components/schemas/EntityOrganizationResponse'
    EntityStatusEnum:
      type: string
      enum:
        - active
        - inactive
    EntityTypeEnum:
      type: string
      enum:
        - individual
        - organization
    EntityUpdateVatID:
      properties:
        country:
          anyOf:
            - $ref: '#/components/schemas/AllowedCountries'
            - type: "null"
        type:
          anyOf:
            - $ref: '#/components/schemas/VatIDTypeEnum'
            - type: "null"
          examples:
            - eu_vat
        value:
          anyOf:
            - type: string
              maxLength: 32
            - type: "null"
      additionalProperties: false
      type: object
    EntityUserCursorFields:
      type: string
      enum:
        - updated_at
    EntityUserPaginationResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/EntityUserResponse'
          type: array
          description: array of records
        next_pagination_token:
          anyOf:
            - type: string
            - type: "null"
          description: A token that can be sent in the `pagination_token` query parameter to get the next page of results, or `null` if there is no next page (i.e. you've reached the last page).
        prev_pagination_token:
          anyOf:
            - type: string
            - type: "null"
          description: A token that can be sent in the `pagination_token` query parameter to get the previous page of results, or `null` if there is no previous page (i.e. you've reached the first page).
      additionalProperties: false
      type: object
      required:
        - data
    EntityUserResponse:
      properties:
        id:
          type: string
          format: uuid
          description: A unique Monite-assigned ID of this entity user. Can be used with `POST /auth/token` to generate an API access token for this user.
        created_at:
          type: string
          format: date-time
          description: UTC date and time when this user was created in Monite.
        updated_at:
          type: string
          format: date-time
          description: UTC date and time when this user was last updated.
        email:
          anyOf:
            - type: string
              format: email
            - type: "null"
          description: The user's business email address.
          examples:
            - c.peters@example.com
        first_name:
          type: string
          description: The user's first name.
          examples:
            - Casey
        last_name:
          anyOf:
            - type: string
            - type: "null"
          description: The user's last name.
          examples:
            - Peters
        login:
          type: string
          description: |-
            The username assigned to this user. Usernames must be unique within the entity.

            The `login` value is not used by Monite but may be used by partner applications, for example, to map the users between the partner's platform and Monite.
          examples:
            - caseyp
        phone:
          anyOf:
            - type: string
            - type: "null"
          description: The user's phone number.
          examples:
            - "+491729925904"
        role_id:
          type: string
          format: uuid
          description: ID of the role assigned to this user. The role defines the user's [access permissions](https://docs.monite.com/api/concepts/authentication#permissions) within the entity. Each user has just one role.
        status:
          $ref: '#/components/schemas/StatusEnum'
          description: The user's status. Always `active`.
        userpic_file_id:
          anyOf:
            - type: string
              format: uuid
            - type: "null"
          description: Unused. Reserved for future use. Currently always returns `null`.
          examples:
            - null
      type: object
      required:
        - id
        - created_at
        - updated_at
        - login
        - role_id
        - status
    EntityVatID:
      properties:
        country:
          $ref: '#/components/schemas/AllowedCountries'
        type:
          $ref: '#/components/schemas/VatIDTypeEnum'
          default: unknown
          examples:
            - eu_vat
        value:
          type: string
          maxLength: 32
          examples:
            - "123456789"
      additionalProperties: false
      type: object
      required:
        - country
        - value
    EntityVatIDResourceList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/EntityVatIDResponse'
          type: array
      type: object
      required:
        - data
    EntityVatIDResponse:
      properties:
        id:
          type: string
          format: uuid
        country:
          $ref: '#/components/schemas/AllowedCountries'
        entity_id:
          type: string
          format: uuid
        type:
          $ref: '#/components/schemas/VatIDTypeEnum'
          default: unknown
          examples:
            - eu_vat
        value:
          type: string
          maxLength: 32
          examples:
            - "123456789"
      type: object
      required:
        - id
        - country
        - entity_id
        - value
    ErrorSchema:
      properties:
        message:
          type: string
      type: object
      required:
        - message
    ErrorSchema2:
      properties:
        message:
          type: string
      type: object
      required:
        - message
    ErrorSchemaResponse:
      properties:
        error:
          $ref: '#/components/schemas/ErrorSchema'
      type: object
      required:
        - error
    ErrorSchemaResponse2:
      properties:
        error:
          $ref: '#/components/schemas/ErrorSchema2'
      type: object
      required:
        - error
    EstimatedMonthlyRevenue:
      properties:
        amount:
          anyOf:
            - type: integer
              maximum: 9223372036854776000
              minimum: 1
            - type: "null"
          description: The amount of the monthly revenue, in [minor units](https://docs.monite.com/references/currencies#minor-units). For example, $12.50 is represented as 1250.
          examples:
            - 250
        currency:
          anyOf:
            - $ref: '#/components/schemas/CurrencyEnum'
            - type: "null"
          description: '[Currency code](https://docs.monite.com/references/currencies) of the revenue.'
          examples:
            - USD
      type: object
    EventCursorFields:
      type: string
      enum:
        - created_at
        - updated_at
    EventPaginationResource:
      properties:
        data:
          items:
            $ref: '#/components/schemas/EventResource'
          type: array
          description: A set of events returned per page
        next_pagination_token:
          anyOf:
            - type: string
            - type: "null"
          description: A token that can be sent in the `pagination_token` query parameter to get the next page of results, or `null` if there is no next page (i.e. you've reached the last page).
        prev_pagination_token:
          anyOf:
            - type: string
            - type: "null"
          description: A token that can be sent in the `pagination_token` query parameter to get the previous page of results, or `null` if there is no previous page (i.e. you've reached the first page).
      type: object
      required:
        - data
    EventResource:
      properties:
        id:
          type: string
          format: uuid
        created_at:
          anyOf:
            - type: string
              format: date-time
            - type: "null"
          description: The timestamp that was generated at the time of making the database transaction that has initially caused the event
        action:
          type: string
        api_version:
          anyOf:
            - type: string
            - type: "null"
        description:
          type: string
        entity_id:
          type: string
          format: uuid
        object:
          anyOf:
            - {}
            - type: "null"
        object_type:
          $ref: '#/components/schemas/WebhookObjectType'
      type: object
      required:
        - id
        - action
        - api_version
        - description
        - entity_id
        - object_type
    EventResourceForWebhookClient:
      properties:
        id:
          type: string
          format: uuid
        created_at:
          anyOf:
            - type: string
              format: date-time
            - type: "null"
          description: The timestamp that was generated at the time of making the database transaction that has initially caused the event
        action:
          type: string
        api_version:
          anyOf:
            - type: string
            - type: "null"
        description:
          type: string
        entity_id:
          type: string
          format: uuid
        object:
          anyOf:
            - {}
            - type: "null"
        object_type:
          $ref: '#/components/schemas/WebhookObjectType'
        webhook_subscription_id:
          type: string
          format: uuid
      type: object
      required:
        - id
        - action
        - api_version
        - description
        - entity_id
        - object_type
        - webhook_subscription_id
    ExchangeRate:
      properties:
        base:
          $ref: '#/components/schemas/CurrencyEnum'
          examples:
            - USD
        rate:
          type: number
          exclusiveMinimum: 0
          examples:
            - 0.98
        to:
          $ref: '#/components/schemas/CurrencyEnum'
          examples:
            - EUR
      additionalProperties: false
      type: object
      required:
        - base
        - to
        - rate
    ExportFormat:
      type: string
      enum:
        - csv
        - pdf
        - csv_xero
    ExportObjectSchema:
      oneOf:
        - $ref: '#/components/schemas/ExportPayableSchema'
        - $ref: '#/components/schemas/ExportReceivableSchema'
      additionalProperties: false
      discriminator:
        propertyName: name
        mapping:
          payable: '#/components/schemas/ExportPayableSchema'
          receivable: '#/components/schemas/ExportReceivableSchema'
    ExportPayableSchema:
      properties:
        name:
          type: string
          enum:
            - payable
        statuses:
          items:
            $ref: '#/components/schemas/PayableStateEnum'
          type: array
      additionalProperties: false
      type: object
      required:
        - name
        - statuses
    ExportPayloadSchema:
      properties:
        date_from:
          type: string
          format: date
        date_to:
          type: string
          format: date
        format:
          $ref: '#/components/schemas/ExportFormat'
        objects:
          items:
            $ref: '#/components/schemas/ExportObjectSchema'
          type: array
      additionalProperties: false
      type: object
      required:
        - date_from
        - date_to
        - format
        - objects
    ExportReceivableSchema:
      properties:
        name:
          type: string
          enum:
            - receivable
        statuses:
          items:
            $ref: '#/components/schemas/ReceivablesStatusEnum'
          type: array
      additionalProperties: false
      type: object
      required:
        - name
        - statuses
    ExportSettingCursorFields:
      type: string
      enum:
        - id
        - created_at
    ExtraDataCreateRequest:
      properties:
        field_name:
          $ref: '#/components/schemas/SupportedFieldNames'
        field_value:
          type: string
        object_id:
          type: string
          format: uuid
        object_type:
          type: string
          enum:
            - counterpart
      additionalProperties: false
      type: object
      required:
        - field_name
        - field_value
        - object_id
        - object_type
    ExtraDataResource:
      properties:
        id:
          type: string
          format: uuid
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        created_by:
          type: string
          format: uuid
        field_name:
          $ref: '#/components/schemas/SupportedFieldNames'
        field_value:
          type: string
        object_id:
          type: string
          format: uuid
        object_type:
          type: string
          enum:
            - counterpart
      type: object
      required:
        - id
        - created_at
        - updated_at
        - field_name
        - field_value
        - object_id
        - object_type
    ExtraDataResourceList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ExtraDataResource'
          type: array
        next_pagination_token:
          type: string
        prev_pagination_token:
          type: string
      type: object
      required:
        - data
    ExtraDataUpdateRequest:
      properties:
        field_name:
          $ref: '#/components/schemas/SupportedFieldNames'
        field_value:
          type: string
        object_id:
          type: string
          format: uuid
        object_type:
          type: string
          enum:
            - counterpart
      additionalProperties: false
      type: object
    FieldSchema:
      properties:
        description:
          type: string
          description: Description of the field
        required:
          type: boolean
          description: Whether the field is required
      additionalProperties: false
      type: object
      required:
        - description
        - required
    FileAttachedEventData:
      properties:
        file_name:
          type: string
        file_size:
          type: integer
        url:
          type: string
      additionalProperties: false
      type: object
      required:
        - file_name
        - file_size
        - url
    FileResponse:
      properties:
        id:
          type: string
          format: uuid
          description: A unique ID assigned to this file.
        created_at:
          type: string
          format: date-time
          description: Date and time when this file was uploaded to or created in Monite. Timestamps follow the ISO 8601 format.
        updated_at:
          type: string
          format: date-time
          description: Date and time when this file was last updated in Monite. Timestamps follow the ISO 8601 format.
        file_type:
          type: string
          description: |-
            Possible values:

             * `additional_identity_documents` and `identity_documents` - [entity verification documents](https://docs.monite.com/payments/onboarding/via-api/documents) uploaded for payments onboarding.
             * `attachments` - supplementary attachments for accounts receivable invoices, quotes, and credit notes.
             * `delivery_notes` - auto-generated PDF versions of delivery notes.
             * `einvoices_xml` - e-invoice XML generated when sending e-invoices.
             * `payables` - payables (bills) received via email or uploaded via API.
             * `receivable_signatures` - images of customer signatures provided during quote acceptance.
             * `receivables` - auto-generated PDF versions of invoices, quotes, and credit notes.
             * `zip` - data export archives created by `POST /data_exports`.
        md5:
          type: string
          description: The MD5 hash of the file.
          examples:
            - 60997cbcc1a6fb2ec37d389ffa8588db
        mimetype:
          type: string
          description: The file's media type, for example, `application/pdf` or `image/png`.
          examples:
            - application/pdf
        name:
          type: string
          description: The original file name (if available).
          examples:
            - timesheet.pdf
        region:
          type: string
          description: Geographical region of the data center where the file is stored.
          examples:
            - eu-central-1
        s3_bucket:
          type: string
          description: Unused.
        s3_file_path:
          type: string
          description: Unused.
        size:
          type: integer
          description: The file size in bytes.
          examples:
            - 120101
        url:
          type: string
          description: The URL to download the file.
          examples:
            - https://bucketname.s3.amazonaws.com/path/to/timesheet.pdf
      additionalProperties: false
      type: object
      required:
        - id
        - created_at
        - updated_at
        - file_type
        - md5
        - mimetype
        - name
        - region
        - s3_bucket
        - s3_file_path
        - size
        - url
    FileSchema:
      properties:
        id:
          type: string
          format: uuid
          description: A unique ID of this file.
        created_at:
          type: string
          format: date-time
          description: UTC date and time when this file was uploaded to Monite. Timestamps follow the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        file_type:
          type: string
          description: The type of the business object associated with this file.
          example: payables
        md5:
          type: string
          description: The MD5 hash of the file.
          example: 31d1a2dd1ad3dfc39be849d70a68dac0
        mimetype:
          type: string
          description: The file's [media type](https://developer.mozilla.org/en-US/docs/Web/HTTP/MIME_types).
          example: application/pdf
        name:
          type: string
          maxLength: 512
          description: The original file name (if available).
          example: invoice.pdf
        pages:
          items:
            $ref: '#/components/schemas/PageSchema2'
          type: array
          description: If the file is a PDF document, this property contains individual pages extracted from the file. Otherwise, an empty array.
          default: []
        previews:
          items:
            $ref: '#/components/schemas/PreviewSchema2'
          type: array
          description: Preview images generated for this file. There can be multiple images with different sizes.
          default: []
        region:
          type: string
          description: Geographical region of the data center where the file is stored.
          example: eu-central-1
        size:
          type: integer
          minimum: 0
          description: The file size in bytes.
          example: 24381
        url:
          type: string
          description: The URL to download the file.
          example: https://bucketname.s3.amazonaws.com/12345/67890.pdf
      type: object
      required:
        - id
        - created_at
        - file_type
        - name
        - region
        - md5
        - mimetype
        - url
        - size
      description: Represents a file (such as a PDF invoice) that was uploaded to Monite.
    FileSchema2:
      properties:
        id:
          type: string
          format: uuid
          description: A unique ID of this file.
        created_at:
          type: string
          format: date-time
          description: UTC date and time when this file was uploaded to Monite. Timestamps follow the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        file_type:
          type: string
          description: The type of the business object associated with this file.
          examples:
            - payables
        md5:
          type: string
          description: The MD5 hash of the file.
          examples:
            - 31d1a2dd1ad3dfc39be849d70a68dac0
        mimetype:
          type: string
          description: The file's [media type](https://developer.mozilla.org/en-US/docs/Web/HTTP/MIME_types).
          examples:
            - application/pdf
        name:
          type: string
          maxLength: 512
          description: The original file name (if available).
          examples:
            - invoice.pdf
        pages:
          anyOf:
            - items:
                $ref: '#/components/schemas/PageSchema'
              type: array
            - type: "null"
          description: If the file is a PDF document, this property contains individual pages extracted from the file. Otherwise, an empty array.
          default: []
        previews:
          anyOf:
            - items:
                $ref: '#/components/schemas/PreviewSchema'
              type: array
            - type: "null"
          description: Preview images generated for this file. There can be multiple images with different sizes.
          default: []
        region:
          type: string
          description: Geographical region of the data center where the file is stored.
          examples:
            - eu-central-1
        size:
          type: integer
          minimum: 0
          description: The file size in bytes.
          examples:
            - 24381
        url:
          type: string
          description: The URL to download the file.
          examples:
            - https://bucketname.s3.amazonaws.com/12345/67890.pdf
      type: object
      required:
        - id
        - created_at
        - file_type
        - md5
        - mimetype
        - name
        - region
        - size
        - url
      description: Represents a file (such as a PDF invoice) that was uploaded to Monite.
    FileSchema3:
      properties:
        id:
          type: string
          format: uuid
          description: A unique ID of this file.
        created_at:
          type: string
          format: date-time
          description: UTC date and time when this file was uploaded to Monite. Timestamps follow the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        file_type:
          type: string
          description: The type of the business object associated with this file.
          example: payables
        md5:
          type: string
          description: The MD5 hash of the file.
          example: 31d1a2dd1ad3dfc39be849d70a68dac0
        mimetype:
          type: string
          description: The file's [media type](https://developer.mozilla.org/en-US/docs/Web/HTTP/MIME_types).
          example: application/pdf
        name:
          type: string
          maxLength: 512
          description: The original file name (if available).
          example: invoice.pdf
        pages:
          items:
            $ref: '#/components/schemas/PageSchema3'
          type: array
          description: If the file is a PDF document, this property contains individual pages extracted from the file. Otherwise, an empty array.
          default: []
        previews:
          items:
            $ref: '#/components/schemas/PreviewSchema3'
          type: array
          description: Preview images generated for this file. There can be multiple images with different sizes.
          default: []
        region:
          type: string
          description: Geographical region of the data center where the file is stored.
          example: eu-central-1
        size:
          type: integer
          minimum: 0
          description: The file size in bytes.
          example: 24381
        url:
          type: string
          description: The URL to download the file.
          example: https://bucketname.s3.amazonaws.com/12345/67890.pdf
      type: object
      required:
        - id
        - created_at
        - file_type
        - md5
        - mimetype
        - name
        - region
        - size
        - url
      description: Represents a file (such as a PDF invoice) that was uploaded to Monite.
    FilesResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/FileResponse'
          type: array
      additionalProperties: false
      type: object
      required:
        - data
    FinancingInvoice:
      properties:
        advance_amount:
          type: integer
          minimum: 0
          description: Amount after fees the business will receive in minor units.
        advance_rate_percentage:
          type: integer
          minimum: 0
          description: Advance rate percentage. 10000 means 100%
        currency:
          allOf:
            - $ref: '#/components/schemas/CurrencyEnum'
          description: Currency code.
        description:
          type: string
          description: Description of the invoice.
        document_id:
          type: string
          description: Monite document ID.
        due_date:
          type: string
          format: date
          description: Monite invoice due date.
        fee_amount:
          type: integer
          minimum: 0
          description: Fee amount in minor units.
        fee_percentage:
          type: integer
          minimum: 0
          description: Fee percentage. 300 means 3%
        invoice_id:
          type: string
          format: uuid
          description: Monite invoice ID.
        issue_date:
          type: string
          format: date
          description: Monite invoice issue date.
        payer_business_name:
          type: string
          description: Payer business name. Only applicable for BUSINESS payer type.
        payer_first_name:
          type: string
          description: Payer first name. Only applicable for INDIVIDUAL payer type.
        payer_last_name:
          type: string
          description: Payer last name. Only applicable for INDIVIDUAL payer type.
        payer_type:
          type: string
          description: Payer type. BUSINESS or INDIVIDUAL
        principal_amount:
          type: integer
          minimum: 0
          description: Principal amount of the loan in minor units.
        repayment_amount:
          type: integer
          minimum: 0
          description: Amount the business will repay in minor units.
        repayment_schedule:
          allOf:
            - $ref: '#/components/schemas/RepaymentSchedule'
          description: Repayment schedule of the invoice.
          example:
            repayment_date: "2025-03-01"
            repayment_amount: 100000
            repayment_fee_amount: 3000
            repayment_principal_amount: 97000
        requested_amount:
          type: integer
          minimum: 0
          description: Amount the business requests to be financed in minor units.
        status:
          allOf:
            - $ref: '#/components/schemas/WCInvoiceStatus'
          description: Status of the invoice.
        total_amount:
          type: integer
          minimum: 0
          description: Total amount of the invoice in minor units.
        type:
          allOf:
            - $ref: '#/components/schemas/FinancingInvoiceType'
          description: The type of the invoice i.e. receivable or payable.
      type: object
      required:
        - type
        - status
        - invoice_id
        - document_id
        - due_date
        - issue_date
        - total_amount
        - currency
        - payer_type
    FinancingInvoiceCursorFields:
      type: string
      enum:
        - id
        - created_at
    FinancingInvoiceListResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/FinancingInvoice'
          type: array
          description: A list of invoices requested for financing.
        next_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the next page of results, or `null` if there is no next page (i.e. you've reached the last page).
        prev_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the previous page of results, or `null` if there is no previous page (i.e. you've reached the first page).
      type: object
      required:
        - data
    FinancingInvoiceType:
      type: string
      enum:
        - payable
        - receivable
    FinancingOffer:
      properties:
        available_amount:
          type: integer
          description: The available credit limit in minor units.
          example: 500000
        currency:
          allOf:
            - $ref: '#/components/schemas/CurrencyEnum'
          description: The currency code.
          example: USD
        pricing_plans:
          items:
            $ref: '#/components/schemas/PricingPlan'
          type: array
          minItems: 1
          description: A list of pricing plans for the offer.
        status:
          allOf:
            - $ref: '#/components/schemas/WCOfferStatus'
          description: The status of the financing offer.
          example: CURRENT
        total_amount:
          type: integer
          description: The total credit limit in minor units.
          example: 1000000
      type: object
      required:
        - status
        - total_amount
        - currency
        - pricing_plans
    FinancingOffersResponse:
      properties:
        business_status:
          allOf:
            - $ref: '#/components/schemas/WCBusinessStatus'
          description: The business's onboarding status.
          example: ONBOARDED
        offers:
          items:
            $ref: '#/components/schemas/FinancingOffer'
          type: array
          description: A list of financing offers extended to the business.
      type: object
      required:
        - offers
        - business_status
    FinancingPushInvoicesRequest:
      properties:
        invoices:
          items:
            $ref: '#/components/schemas/FinancingPushInvoicesRequestInvoice'
          type: array
          maxItems: 10
          minItems: 1
          description: A list of invoices to request financing for.
      type: object
      required:
        - invoices
    FinancingPushInvoicesRequestInvoice:
      properties:
        id:
          type: string
          format: uuid
          description: The invoice ID.
        type:
          allOf:
            - $ref: '#/components/schemas/FinancingInvoiceType'
          description: The invoice type.
      type: object
      required:
        - id
        - type
    FinancingPushInvoicesResponse:
      properties:
        connect_token:
          type: string
          description: A connect token for Kanmon SDK.
        session_token:
          type: string
          description: An embedded session token for Kanmon SDK.
      type: object
      required:
        - connect_token
        - session_token
    FinancingTokenResponse:
      properties:
        connect_token:
          type: string
          description: A connect token for Kanmon SDK.
      type: object
      required:
        - connect_token
    GetAllPaymentReminders:
      properties:
        data:
          items:
            $ref: '#/components/schemas/PaymentReminderResponse'
          type: array
      additionalProperties: false
      type: object
      required:
        - data
    GetOnboardingRequirementsResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/SingleOnboardingRequirementsResponse'
          type: array
      additionalProperties: false
      type: object
      required:
        - data
    GrantType:
      type: string
      enum:
        - client_credentials
        - entity_user
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
      type: object
    HealthResponse:
      properties:
        status:
          type: string
          examples:
            - pass
          description: The value `pass` means the API status is OK.
      additionalProperties: false
      type: object
      required:
        - status
    IndividualResponseSchema:
      properties:
        date_of_birth:
          anyOf:
            - type: string
              format: date
            - type: "null"
        first_name:
          type: string
          maxLength: 100
          description: A first name of an individual
        id_number:
          anyOf:
            - type: string
            - type: "null"
        last_name:
          type: string
          maxLength: 100
          description: A last name of an individual
        ssn_last_4:
          anyOf:
            - type: string
              maxLength: 4
              minLength: 4
            - type: "null"
          description: The last four digits of the individual's Social Security number
        title:
          anyOf:
            - type: string
              maxLength: 10
            - type: "null"
          description: A title of an individual
      type: object
      required:
        - first_name
        - last_name
      description: Contains data specific to entities of the `individual` type.
    IndividualSchema:
      properties:
        date_of_birth:
          anyOf:
            - type: string
              format: date
            - type: "null"
        first_name:
          type: string
          maxLength: 100
          minLength: 1
          description: A first name of an individual
        id_number:
          anyOf:
            - type: string
              maxLength: 100
              minLength: 1
            - type: "null"
        last_name:
          type: string
          maxLength: 100
          minLength: 1
          description: A last name of an individual
        ssn_last_4:
          anyOf:
            - type: string
              maxLength: 4
              minLength: 4
            - type: "null"
          description: The last four digits of the individual's Social Security number
        title:
          anyOf:
            - type: string
              maxLength: 10
              minLength: 1
            - type: "null"
          description: A title of an individual
      additionalProperties: false
      type: object
      required:
        - first_name
        - last_name
      description: A schema contains metadata for an individual
    InlinePaymentTermsRequestPayload:
      properties:
        term_1:
          allOf:
            - $ref: '#/components/schemas/InlineTermDiscount'
          description: The first tier of the payment term. Represents the terms of the first early discount.
        term_2:
          allOf:
            - $ref: '#/components/schemas/InlineTermDiscount'
          description: The second tier of the payment term. Defines the terms of the second early discount.
        term_final:
          allOf:
            - $ref: '#/components/schemas/InlineTermFinal'
          description: The final tier of the payment term. Defines the invoice due date.
      additionalProperties: false
      type: object
      required:
        - term_final
    InlineTermDiscount:
      properties:
        discount:
          type: integer
          maximum: 10000
          minimum: 0
          description: The discount percentage in minor units. E.g., 200 means 2%. 1050 means 10.5%.
        end_date:
          type: string
          format: date
        number_of_days:
          type: integer
          maximum: 10000
          minimum: 0
          description: The amount of days after the invoice issue date.
      additionalProperties: false
      type: object
      required:
        - discount
    InlineTermFinal:
      properties:
        end_date:
          type: string
          format: date
        number_of_days:
          type: integer
          maximum: 10000
          minimum: 0
          description: The amount of days after the invoice issue date.
      additionalProperties: false
      type: object
    Invoice:
      properties:
        due_date:
          type: string
          format: date
          description: The invoice due date (`yyyy-mm-dd`) to be displayed on the payment page.
        file:
          $ref: '#/components/schemas/InvoiceFile'
          description: The invoice file (for example, PDF or PNG). If specified, the payment page will include a link to download this file.
        issue_date:
          type: string
          format: date
          description: The invoice issue date (`yyyy-mm-dd`) to be displayed on the payment page.
      additionalProperties: false
      type: object
    InvoiceFile:
      properties:
        mimetype:
          type: string
          minLength: 1
          examples:
            - application/pdf
        name:
          type: string
          minLength: 1
          examples:
            - INV-00042.pdf
        url:
          type: string
          maxLength: 2083
          minLength: 1
          format: uri
          examples:
            - https://example.com/path/to/invoice.pdf
      additionalProperties: false
      type: object
      required:
        - mimetype
        - name
        - url
    InvoiceRenderingSettings:
      properties:
        display_entity_bank_account:
          type: boolean
          description: If set to `true`, the entity's bank account details will be displayed on the invoice PDF.
          default: true
      type: object
    InvoiceResponsePayload:
      properties:
        id:
          type: string
          format: uuid
        created_at:
          type: string
          format: date-time
          description: Time at which the receivable was created. Timestamps follow the ISO 8601 standard.
        updated_at:
          type: string
          format: date-time
          description: Time at which the receivable was last updated. Timestamps follow the ISO 8601 standard.
        amount_due:
          type: integer
          maximum: 9007199254740991
          description: How much is left to be paid in [minor units](https://docs.monite.com/references/currencies#minor-units). Equal 0 if the Invoice is fully paid.
        amount_paid:
          type: integer
          maximum: 9007199254740991
          description: How much has been paid [minor units](https://docs.monite.com/references/currencies#minor-units)
        amount_to_pay:
          type: integer
          maximum: 9007199254740991
          description: How much is left to be paid in in [minor units](https://docs.monite.com/references/currencies#minor-units), including payment_term discounts.
        attachments:
          items:
            $ref: '#/components/schemas/AttachmentResponse'
          type: array
          description: List of attachments to include with the receivable. Each attachment can be configured for email inclusion. If not provided, no attachments will be associated.
        based_on:
          type: string
          format: uuid
          description: The unique ID of a previous document related to the receivable if applicable.
        based_on_document_id:
          type: string
          description: The unique document ID of a previous document related to the receivable if applicable.
        comment:
          type: string
          description: Field with a comment for pay/partially/uncollectible info on this Invoice
        commercial_condition_description:
          type: string
          description: |-
            Additional terms and conditions for the receivable. For example, the return or cancellation policy. If defined, this text is displayed in the "Terms and conditions" section in the PDF.

            This is different from payment terms which are defined using `payment_terms` or `payment_terms_id`.

            See also: `memo`, `footer`.
        counterpart_billing_address:
          allOf:
            - $ref: '#/components/schemas/ReceivablesRepresentationOfCounterpartAddress'
          description: Address of invoicing, need to state as a separate fields for some countries if it differs from address of a company.
        counterpart_business_type:
          type: string
          maxLength: 50
          description: Different types of companies for different countries, ex. GmbH, SAS, SNC, etc.
        counterpart_contact:
          allOf:
            - $ref: '#/components/schemas/ReceivableCounterpartContact'
          description: Additional information about counterpart contacts.
        counterpart_einvoicing_credentials:
          allOf:
            - $ref: '#/components/schemas/EinvoicingCredentials'
          description: E-invoicing credentials of the counterpart
        counterpart_external_reference:
          type: string
          description: The external reference of the counterpart.
        counterpart_id:
          type: string
          format: uuid
          description: Unique ID of the counterpart.
        counterpart_name:
          type: string
          description: A legal name of a counterpart it is an organization or first and last name if it is an individual
        counterpart_shipping_address:
          allOf:
            - $ref: '#/components/schemas/ReceivablesRepresentationOfCounterpartAddress'
          description: Address where goods were shipped / where services were provided.
        counterpart_tax_id:
          type: string
          description: The VAT/TAX ID of the counterpart.
        counterpart_type:
          allOf:
            - $ref: '#/components/schemas/CounterpartType'
          description: The type of the counterpart.
        counterpart_vat_id:
          $ref: '#/components/schemas/ReceivableCounterpartVatIDResponse'
        currency:
          allOf:
            - $ref: '#/components/schemas/CurrencyEnum'
          description: The currency used in the receivable.
        deduction_amount:
          type: integer
          maximum: 9007199254740991
          minimum: 0
          description: |-
            Deprecated and mutually exclusive with `deductions`.

            Specifies the amount (in [minor units](https://docs.monite.com/references/currencies#minor-units)) of a special deduction or incentive that is applied to the total after VAT.

            The default PDF label for deductions is "Incentives", but can be changed via the partner setting `receivable.deduction_title`.
          deprecated: true
          examples:
            - 1500
        deduction_memo:
          type: string
          description: |-
            Deprecated and mutually exclusive with `deductions`.

            A note with additional information about the deduction. It is displayed below the deduction line in the PDF.
          deprecated: true
        deductions:
          items:
            $ref: '#/components/schemas/DeductionItem'
          type: array
          maxItems: 10
          description: |-
            A list of deductions and incentives to be applied after VAT. This is different from discounts which are applied before VAT.

            The `deductions` field is mutually exclusive with the deprecated `deduction_amount` and `deduction_memo` fields.
        discount:
          allOf:
            - $ref: '#/components/schemas/DiscountResponse'
          description: The discount for a receivable.
        discounted_subtotal:
          type: integer
          maximum: 9007199254740991
          description: Total price of the receivable with discounts before taxes [minor units](https://docs.monite.com/references/currencies#minor-units).
        document_id:
          type: string
          description: The sequential code systematically assigned to invoices.
        document_rendering:
          allOf:
            - $ref: '#/components/schemas/DocumentRenderingSettings'
          description: Settings for rendering documents in PDF format, including settings for line items and specific document types.
        due_date:
          type: string
          format: date
          description: Optional field representing date until which invoice should be paid
        einvoice_error_comment:
          type: string
          description: Error that was returned by E-invoicing
        einvoice_file_url:
          type: string
          description: E-invoice XML file that was sent to the counterpart via an e-invoicing network. Available only if `is_einvoice` is `true`.
        entity:
          anyOf:
            - $ref: '#/components/schemas/ReceivableEntityOrganization'
            - $ref: '#/components/schemas/ReceivableEntityIndividual'
        entity_address:
          $ref: '#/components/schemas/ReceivableEntityAddressSchema'
        entity_bank_account:
          $ref: '#/components/schemas/ReceivablesRepresentationOfEntityBankAccount'
        entity_user_id:
          type: string
          format: uuid
          description: The entity user who created this document.
        entity_vat_id:
          $ref: '#/components/schemas/ReceivableEntityVatIDResponse'
        file_language:
          allOf:
            - $ref: '#/components/schemas/LanguageCodeEnum'
          description: The language of the customer-facing PDF file (`file_url`). The value matches the counterpart's `language` at the time when this PDF file was generated.
        file_url:
          type: string
          description: The receivable's PDF URL in the counterpart's default language.
        footer:
          type: string
          description: 'Optional text displayed below the line items table in the PDF. See also: `memo`, `commercial_condition_description`.'
        fulfillment_date:
          type: string
          format: date
          description: |-
            The date when the goods are shipped or the service is provided. Can be a current, past, or future date.

            Some countries require the fulfillment date in invoices for regulatory compliance. In this case, if the fulfillment date was not provided by the user, it is automatically set to the invoice issue date once the invoice gets issued.

            In countries where the fulfillment date is optional, Monite does not auto-assign it if it was omitted by the user.
        is_einvoice:
          type: boolean
          description: Is this Invoice will be sent through E-invoice system
          default: false
        issue_date:
          type: string
          format: date-time
          description: Optional field for the issue of the entry.
        line_items:
          items:
            $ref: '#/components/schemas/ResponseItem'
          type: array
        memo:
          type: string
          description: 'An optional note for the customer, displayed above the line items table in the PDF. See also: `footer`, `commercial_condition_description`.'
        network_credentials:
          allOf:
            - $ref: '#/components/schemas/EinvoicingCredentials'
          description: E-invoicing credentials of the entity
        original_file_language:
          allOf:
            - $ref: '#/components/schemas/LanguageCodeEnum'
          description: The language of the entity's copy of the PDF file (`original_file_url`). The value matches the entity's `language` at the time when this PDF file was generated.
        original_file_url:
          type: string
          description: The receivable's PDF URL in the entity's default language.
        overdue_reminder_id:
          type: string
          format: uuid
        paid_at:
          type: string
          format: date-time
          description: Date and time when the invoice was paid.
        partner_metadata:
          type: object
          description: Metadata for partner needs
        payment_page_url:
          type: string
          maxLength: 2083
          minLength: 1
          format: uri
          description: Link to the invoice's payment page. Either Monite's payment links or your custom payment links.
        payment_reminder_id:
          type: string
          format: uuid
        payment_terms:
          $ref: '#/components/schemas/PaymentTerms'
        project_id:
          type: string
          format: uuid
          description: ID of the [project](https://docs.monite.com/common/projects) associated with this invoice. If specified, the project name will be included in the header of the PDF invoice.
        purchase_order:
          type: string
          maxLength: 100
          description: Contain purchase order number.
        recurrence_id:
          type: string
          format: uuid
          description: Stores an unique ID of a recurrence if the receivable is in a recurring status
        related_documents:
          allOf:
            - $ref: '#/components/schemas/RelatedDocuments'
          description: 'IDs of other documents related to this invoice. See also: `based_on`, `based_on_document_id`, `purchase_order`.'
        status:
          allOf:
            - $ref: '#/components/schemas/ReceivablesStatusEnum'
          description: The status of the receivable inside the receivable workflow.
        subtotal:
          type: integer
          maximum: 9007199254740991
          description: The subtotal (excluding VAT), in [minor units](https://docs.monite.com/references/currencies#minor-units).
        subtotal_after_vat:
          type: integer
          maximum: 9007199254740991
          description: The subtotal including VAT but without invoice discount, in [minor units](https://docs.monite.com/references/currencies#minor-units).
        tags:
          items:
            $ref: '#/components/schemas/TagReadSchema'
          type: array
          description: The list of tags for this receivable.
          default: []
        total_amount:
          type: integer
          maximum: 9007199254740991
          description: Total price of the receivable in [minor units](https://docs.monite.com/references/currencies#minor-units). Calculated as a subtotal + total_vat_amount.
          default: 0
        total_amount_with_credit_notes:
          type: integer
          maximum: 9007199254740991
          description: The total price of the receivable in [minor units](https://docs.monite.com/references/currencies#minor-units), including VAT and excluding all issued credit notes.
        total_deduction_amount:
          type: integer
          maximum: 9007199254740991
          description: The total amount of all deductions that are applied after VAT, in [minor units](https://docs.monite.com/references/currencies#minor-units).
        total_vat_amount:
          type: integer
          maximum: 9007199254740991
          description: The total VAT of all line items, in [minor units](https://docs.monite.com/references/currencies#minor-units).
        total_vat_amounts:
          items:
            $ref: '#/components/schemas/TotalVatAmountItem'
          type: array
          description: List of total vat amount for each VAT, presented in receivable
        total_withholding_tax:
          type: integer
          description: Total price of the receivable with tax withheld in minor units
        trade_name:
          type: string
          maxLength: 255
          description: Trade name of the entity
        type:
          type: string
          enum:
            - invoice
          description: The type of the document uploaded.
        vat_exempt:
          type: boolean
          description: Unused. To indicate that a line item is non-taxable or exempt from tax, use the `tax_status` field of that line item.
        vat_exemption_rationale:
          type: string
          description: The reason for the VAT exemption, if applicable.
        vat_inclusive_discount_mode:
          allOf:
            - $ref: '#/components/schemas/VatModeEnum'
          description: Indicates whether the discount is applied to the VAT-inclusive or VAT-exclusive amount.
          default: exclusive
        vat_mode:
          allOf:
            - $ref: '#/components/schemas/VatModeEnum'
          description: Defines whether the prices of products in receivable will already include VAT or not.
          default: exclusive
        withholding_tax_rate:
          type: integer
          maximum: 10000
          minimum: 0
          description: The amount of tax withheld in percent minor units
      type: object
      required:
        - id
        - created_at
        - updated_at
        - amount_due
        - amount_paid
        - counterpart_id
        - counterpart_type
        - currency
        - entity
        - entity_address
        - file_language
        - line_items
        - original_file_language
        - related_documents
        - status
        - total_amount_with_credit_notes
        - total_vat_amount
        - type
    Item:
      properties:
        confidence:
          type: number
          maximum: 100
          minimum: 0
          description: OCR confidence score - the estimated accuracy percentage of character recognition of the extracted text, from 0 to 100%.
          example: 96.238
        processed_text:
          description: |-
            If the `text` value is identified as a currency amount or a date, `processed_text` contains this value converted to a common format:

            * Currency amounts (such as the total, subtotal, tax/VAT, line item prices) are converted to numbers with the currency character removed. For example, "€1,125.00" becomes 1125.0.* Dates are converted to the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format, `YYYY-MM-DDThh:mm:ss`. For example, "26/3/2021" becomes "2021-03-26T00:00:00".

            If `text` is not a currency amount or a date, `processed_text` is `null`.
          example: 1125
        text:
          type: string
          description: The text as recognized by OCR.
          example: €1,125.00
      type: object
      required:
        - confidence
        - text
      description: Contains information about a text block or line extracted from an uploaded document by OCR.
    IterationStatus:
      type: string
      enum:
        - pending
        - completed
        - canceled
        - skipped
        - issue_failed
        - send_failed
    LabelNValue:
      properties:
        label:
          allOf:
            - $ref: '#/components/schemas/Item'
          description: Text label.
          example:
            text: total
            confidence: 99.799
        value:
          allOf:
            - $ref: '#/components/schemas/Item'
          description: The value (if any).
      type: object
      required:
        - label
        - value
      description: |-
        A label-value pair extracted from an uploaded document by OCR.
        For example, the label could be "Total" and the value could be a currency amount.
    LanguageCodeEnum:
      type: string
      enum:
        - ab
        - aa
        - af
        - ak
        - sq
        - am
        - ar
        - an
        - hy
        - av
        - ae
        - ay
        - az
        - bm
        - ba
        - eu
        - be
        - bn
        - bi
        - bs
        - br
        - bg
        - my
        - ca
        - ch
        - ce
        - ny
        - zh
        - cu
        - cv
        - kw
        - co
        - cr
        - hr
        - cs
        - da
        - dv
        - nl
        - dz
        - en
        - eo
        - et
        - ee
        - fo
        - fj
        - fi
        - fr
        - fy
        - ff
        - gd
        - gl
        - lg
        - ka
        - de
        - el
        - kl
        - gn
        - gu
        - ht
        - ha
        - he
        - hz
        - hi
        - ho
        - hu
        - io
        - ig
        - id
        - ia
        - ie
        - iu
        - ik
        - ga
        - it
        - ja
        - jv
        - kn
        - kr
        - ks
        - kk
        - km
        - ki
        - rw
        - ky
        - kv
        - kg
        - ko
        - kj
        - ku
        - lo
        - la
        - lv
        - li
        - ln
        - lt
        - lu
        - lb
        - mk
        - mg
        - ms
        - ml
        - mt
        - gv
        - mi
        - mr
        - mh
        - mn
        - na
        - nv
        - nd
        - nr
        - ng
        - ne
        - 'no'
        - nb
        - nn
        - ii
        - oc
        - oj
        - om
        - os
        - pi
        - ps
        - fa
        - pl
        - pt
        - pa
        - qu
        - ro
        - rm
        - rn
        - ru
        - se
        - sm
        - sg
        - sa
        - sc
        - sr
        - sn
        - sd
        - si
        - sk
        - sl
        - so
        - st
        - es
        - su
        - sw
        - ss
        - sv
        - tl
        - ty
        - tg
        - ta
        - tt
        - te
        - th
        - bo
        - ti
        - to
        - ts
        - tn
        - tr
        - tk
        - tw
        - ug
        - uk
        - ur
        - uz
        - ve
        - vi
        - vo
        - wa
        - cy
        - wo
        - xh
        - yi
        - yo
        - za
        - zu
    LedgerAccountCreateRequest:
      properties:
        description:
          type: string
          maxLength: 2048
          description: Description of the ledger account
        name:
          type: string
          maxLength: 500
          description: Name of the ledger account
        nominal_code:
          type: string
          maxLength: 500
          description: Account code in the accounting system
      type: object
      description: Schema for creating a new ledger account.
    LedgerAccountCursorFields:
      type: string
      enum:
        - name
    LedgerAccountListResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/LedgerAccountResponse'
          type: array
        next_pagination_token:
          type: string
        prev_pagination_token:
          type: string
      type: object
      required:
        - data
      description: A paginated list of ledger accounts.
    LedgerAccountResponse:
      properties:
        id:
          type: string
          format: uuid
          description: A unique identifier of the ledger account.
        created_at:
          type: string
          format: date-time
          description: The timestamp when the ledger account was created.
        updated_at:
          type: string
          format: date-time
          description: The timestamp when the ledger account was last updated.
        currency:
          allOf:
            - $ref: '#/components/schemas/CurrencyEnum'
          description: The currency of the ledger account, specified as a three-letter [currency code](https://docs.monite.com/references/currencies) (ISO 4217).
          example: EUR
        current_balance:
          type: integer
          description: The current balance in the account.
        description:
          type: string
          description: User-defined description of the ledger account.
        is_bank_account:
          type: boolean
          description: Indicates whether this ledger account represents a bank account.
        is_external:
          type: boolean
          description: Whether the ledger account is from an external system
          default: false
        name:
          type: string
          description: 'A user-defined name of the ledger account. Examples: Accounts Receivable, Office Equipment, Advertising, Salaries.'
          example: Accounts Receivable
        nominal_code:
          type: string
          description: The account code in the accounting system.
          example: "610"
        status:
          type: string
          description: 'The status of the ledger account. Possible values: Active, Archived, Pending, Unknown.'
          example: Active
        subtype:
          type: string
          description: 'The subtype or category of the ledger account. Possible values vary based on the accounting system used. Examples: Current, Fixed, Expense, Inventory, Equity.'
          example: Current
        type:
          type: string
          description: 'The type of the ledger account. It determines whether the account is a credit account or a debit account and where it appears in financial reports within the accounting system. Possible values: Asset, Equity, Expense, Income, Liability, Unknown.'
          example: Asset
      type: object
      required:
        - id
        - created_at
        - updated_at
        - is_bank_account
        - status
        - type
      description: Represents a general ledger account retrieved from an accounting system.
    LedgerAccountUpdateRequest:
      properties:
        description:
          type: string
          maxLength: 2048
          description: Description of the ledger account
        name:
          type: string
          maxLength: 500
          description: Name of the ledger account
        nominal_code:
          type: string
          maxLength: 500
          description: Account code in the accounting system
      type: object
      description: Schema for updating an existing ledger account.
    LineItem:
      properties:
        accounting_tax_rate_id:
          type: string
          format: uuid
          description: ID of the tax rate in the connected accounting system, to be used when pushing the invoice to that accounting system. Use `GET /accounting_tax_rates` to get these IDs. If omitted, Monite will attempt to match the tax rates based on their numeric value.
        custom_vat_rate_id:
          type: string
          format: uuid
          description: |-
            ID of the user-defined VAT or tax rate created via `/custom_vat_rates`. Can be used by entities in any country.

            This field is mutually exclusive with `vat_rate_id` and `tax_rate_value`.
        discount:
          allOf:
            - $ref: '#/components/schemas/Discount'
          description: The discount for a product.
        product:
          allOf:
            - $ref: '#/components/schemas/LineItemProductCreate'
          description: Object of product. Can be used instead of product_id, created in product's catalog
        product_id:
          type: string
          format: uuid
          description: Unique identifier of the product.
        quantity:
          type: number
          maximum: 2147483647
          minimum: 0
          description: The quantity of each of the goods, materials, or services listed in the receivable.
        tax_rate_name:
          type: string
          maxLength: 64
          minLength: 1
          description: Has effect only if `tax_rate_value` is used. Specifies the display name of that tax rate.
        tax_rate_value:
          type: integer
          maximum: 10000
          minimum: 0
          description: |-
            The VAT or tax rate value multiplied by 100. For example, 12.5% is represented as 1250.

            Can be used only by entities from [countries](https://docs.monite.com/accounts-receivable/vat-rates#supported-countries) not covered by Monite's built-in catalog of VAT rates.

            This field is mutually exclusive with `vat_rate_id` and `custom_vat_rate_id`.
        tax_status:
          allOf:
            - $ref: '#/components/schemas/TaxStatusEnum'
          description: |-
            Tax applicability status of the line item. Possible values:

            * `taxable` (default) - Standard tax behavior. Requires the tax rate to be specified.
            * `exempt` - Line item is exempt from taxes. Exempt items are not included in total tax calculations.
            * `non_taxable` - Line item is outside the tax scope entirely, cannot have tax rates.
          default: taxable
        vat_rate_id:
          type: string
          format: uuid
          description: |-
            ID of a VAT or tax rate from Monite's [built-in catalog](https://docs.monite.com/api/vat-rates/get-vat-rates). Can be used only for [select countries](https://docs.monite.com/accounts-receivable/vat-rates#supported-countries).

            This field is mutually exclusive with `custom_vat_rate_id` and `tax_rate_value`.
      additionalProperties: false
      type: object
      required:
        - quantity
    LineItemColumnSettings:
      properties:
        display:
          type: boolean
          default: true
        label:
          anyOf:
            - type: string
              maxLength: 32
              minLength: 1
            - type: "null"
          description: Line item table column header to override Monite's default. If not set, the Monite's default will be used.
      type: object
    LineItemCursorFields:
      type: string
      enum:
        - created_at
        - updated_at
    LineItemFields:
      properties:
        measure_unit:
          allOf:
            - $ref: '#/components/schemas/FieldSchema'
          description: Object describing the required field `measure_unit` of a line item's product
          default:
            description: Unit used to measure the quantity of the product (e.g. items, meters, kilograms)
            required: false
        tax_rate_value:
          allOf:
            - $ref: '#/components/schemas/FieldSchema'
          description: Object describing the required field `tax_rate_value` of a line item
          default:
            description: 'Percent minor units. Example: 12.5% is 1250. This field is only required on invoices issued by entities in the US, Pakistan, and other unsupported countries.'
            required: false
        vat_rate_id:
          allOf:
            - $ref: '#/components/schemas/FieldSchema'
          description: Object describing the required field `vat_rate_id` of a line item
          default:
            description: Unique identifier of the vat rate object. This field is required for all entities in supported countries except the US and Pakistan.
            required: false
      additionalProperties: false
      type: object
    LineItemInternalRequest:
      properties:
        accounting_tax_rate_id:
          type: string
          format: uuid
          description: ID of the tax rate reference used for accounting integration. May be used to override auto-picked tax rate reference in accounting platform in case of any platform-specific constraints.
          example: dd13735f-ef3a-4312-8c37-835d70341375
        description:
          type: string
          description: Description of the product.
        ledger_account_id:
          type: string
          format: uuid
          description: ID of the account record used to store bookkeeping entries for balance-sheet and income-statement transactions.
          example: 7df884fd-8be8-4eba-b6ff-417b66efe033
        name:
          type: string
          description: Name of the product.
        quantity:
          type: number
          minimum: 0
          description: The quantity of each of the goods, materials, or services listed in the payable.
          example: 1.22
        subtotal:
          type: integer
        tax:
          type: integer
          maximum: 10000
          minimum: 0
          description: 'VAT rate in percent [minor units](https://docs.monite.com/references/currencies#minor-units). Example: 12.5% is 1250.'
          example: 1250
        total:
          type: integer
        unit:
          type: string
          description: The unit of the product
          example: meter
        unit_price:
          type: integer
          description: The unit price of the product, in [minor units](https://docs.monite.com/references/currencies#minor-units). For example, $12.50 is represented as 1250.
          example: 1200
      additionalProperties: false
      type: object
    LineItemNumericColumnSettings:
      properties:
        display:
          type: boolean
          default: true
        label:
          anyOf:
            - type: string
              maxLength: 32
              minLength: 1
            - type: "null"
          description: Line item table column header to override Monite's default. If not set, the Monite's default will be used.
        precision:
          anyOf:
            - type: integer
              maximum: 4
              minimum: 2
            - type: "null"
          description: Number of decimal places to display for numeric values in this column.
      type: object
      description: Extended settings for numeric columns in line items.
    LineItemPaginationResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/LineItemResponse'
          type: array
        next_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the next page of results, or `null` if there is no next page (i.e. you've reached the last page).
        prev_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the previous page of results, or `null` if there is no previous page (i.e. you've reached the first page).
      type: object
      required:
        - data
    LineItemProduct:
      properties:
        id:
          type: string
          format: uuid
          description: Unique ID of the product.
        accounting_tax_rate_id:
          type: string
          format: uuid
          description: Unique identifier of the accounting tax rate object.
        description:
          type: string
          description: Description of the product.
        external_reference:
          type: string
          maxLength: 255
          minLength: 1
          description: A user-defined identifier of the product. For example, an internal product code or SKU (stock keeping unit). Client applications can use this field to map the products in Monite to an external product catalog.
          examples:
            - HT-1234-S-BL
            - SERVICE-67890
        is_inline:
          type: boolean
          description: Indicates whether the product is inline
          default: false
        ledger_account_id:
          type: string
          format: uuid
        measure_unit:
          $ref: '#/components/schemas/LineItemProductMeasureUnit'
        name:
          type: string
          description: Name of the product.
        price:
          $ref: '#/components/schemas/Price'
        price_after_vat:
          $ref: '#/components/schemas/Price'
        smallest_amount:
          type: number
          maximum: 2147483647
          minimum: 0
          description: The smallest amount allowed for this product.
        type:
          allOf:
            - $ref: '#/components/schemas/ProductServiceTypeEnum'
          description: Specifies whether this offering is a product or service. This may affect the applicable tax rates.
          default: product
        vat_rate:
          $ref: '#/components/schemas/LineItemProductVatRate'
      type: object
      required:
        - id
        - name
        - price
        - price_after_vat
        - vat_rate
    LineItemProductCreate:
      properties:
        description:
          type: string
          maxLength: 2000
          description: Description of the product.
        external_reference:
          type: string
          maxLength: 255
          minLength: 1
          description: A user-defined identifier of the product. For example, an internal product code or SKU (stock keeping unit). Client applications can use this field to map the products in Monite to an external product catalog.
          examples:
            - HT-1234-S-BL
            - SERVICE-67890
        ledger_account_id:
          type: string
          format: uuid
        measure_unit:
          $ref: '#/components/schemas/UnitRequest'
        name:
          type: string
          maxLength: 100
          minLength: 1
          description: Name of the product.
        price:
          $ref: '#/components/schemas/Price'
        smallest_amount:
          type: number
          maximum: 2147483647
          minimum: 0
          description: The smallest amount allowed for this product.
        type:
          allOf:
            - $ref: '#/components/schemas/ProductServiceTypeEnum'
          description: Specifies whether this offering is a product or service. This may affect the applicable tax rates.
          default: product
      type: object
      required:
        - name
        - price
    LineItemProductMeasureUnit:
      properties:
        id:
          type: string
          format: uuid
        description:
          type: string
          maxLength: 200
        name:
          type: string
          maxLength: 100
          minLength: 1
      type: object
      required:
        - name
    LineItemProductVatRate:
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier of the vat rate object.
        components:
          items:
            $ref: '#/components/schemas/VatRateComponent'
          type: array
          minItems: 1
          description: Sub-taxes included in the VAT.
        country:
          allOf:
            - $ref: '#/components/schemas/AllowedCountries'
          description: Two-letter ISO country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
          example: DE
        is_custom:
          type: boolean
          description: Indicates whether this vat rate is defined by user.
          default: false
        name:
          type: string
          description: Display name of the vat rate.
        value:
          type: integer
          maximum: 10000
          minimum: 0
          description: 'Percent minor units. Example: 12.5% is 1250.'
      type: object
      required:
        - country
        - value
    LineItemRequest:
      properties:
        accounting_tax_rate_id:
          type: string
          format: uuid
          description: ID of the tax rate reference used for accounting integration. May be used to override auto-picked tax rate reference in accounting platform in case of any platform-specific constraints.
          example: dd13735f-ef3a-4312-8c37-835d70341375
        description:
          type: string
          description: Description of the product.
        ledger_account_id:
          type: string
          format: uuid
          description: ID of the account record used to store bookkeeping entries for balance-sheet and income-statement transactions.
          example: 7df884fd-8be8-4eba-b6ff-417b66efe033
        name:
          type: string
          description: Name of the product.
        quantity:
          type: number
          minimum: 0
          description: The quantity of each of the goods, materials, or services listed in the payable.
          example: 1.22
        tax:
          type: integer
          maximum: 10000
          minimum: 0
          description: 'VAT rate in percent [minor units](https://docs.monite.com/references/currencies#minor-units). Example: 12.5% is 1250.'
          example: 1250
        unit:
          type: string
          description: The unit of the product
          example: meter
        unit_price:
          type: integer
          description: The unit price of the product, in [minor units](https://docs.monite.com/references/currencies#minor-units). For example, $12.50 is represented as 1250.
          example: 1200
      additionalProperties: false
      type: object
    LineItemResponse:
      properties:
        id:
          type: string
          format: uuid
        accounting_tax_rate_id:
          type: string
          format: uuid
          description: ID of the tax rate reference used for accounting integartion. May be used to override auto-picked tax rate reference in accounting platform in case of any platform-specific constraints.
          example: dd13735f-ef3a-4312-8c37-835d70341375
        description:
          type: string
          description: Description of the product.
        ledger_account_id:
          type: string
          format: uuid
          description: ID of the account record used to store bookkeeping entries for balance-sheet and income-statement transactions.
          example: 7df884fd-8be8-4eba-b6ff-417b66efe033
        name:
          type: string
          description: Name of the product.
        ocr_set_quantity_to_one:
          type: boolean
          description: Indicates whether the item's `unit_price` and `quantity` were adjusted by OCR.
          default: false
          example: false
        payable_id:
          type: string
          format: uuid
        quantity:
          type: number
          description: The quantity of each of the goods, materials, or services listed in the payable.
          example: 1.22
        subtotal:
          type: integer
          description: The subtotal (excluding VAT), in [minor units](https://docs.monite.com/references/currencies#minor-units).
          example: 1250
        tax:
          type: integer
          description: 'VAT rate in percent [minor units](https://docs.monite.com/references/currencies#minor-units). Example: 12.5% is 1250.'
          example: 2000
        tax_amount:
          type: integer
          description: Tax amount in [minor units](https://docs.monite.com/references/currencies#minor-units). For example, $12.50 is represented as 1250.
          example: 250
        total:
          type: integer
          description: The actual price of the product.
          example: 1200
        unit:
          type: string
          description: The unit of the product
          example: meter
        unit_price:
          type: integer
          description: The unit price of the product, in [minor units](https://docs.monite.com/references/currencies#minor-units). For example, $12.50 is represented as 1250.
          example: 1500
        was_created_by_user_id:
          type: string
          format: uuid
          description: ID of the user who created the tag.
          example: ea837e28-509b-4b6a-a600-d54b6aa0b1f5
      type: object
      required:
        - id
        - payable_id
    LineItemUpdate:
      properties:
        custom_vat_rate_id:
          type: string
          format: uuid
          description: Unique identifier of the user-defined vat rate object.
        discount:
          allOf:
            - $ref: '#/components/schemas/Discount'
          description: The discount for a product.
        price:
          type: integer
          maximum: 9007199254740991
          minimum: 0
          description: The actual price of the product in [minor units](https://docs.monite.com/references/currencies#minor-units).
        quantity:
          type: number
          maximum: 2147483647
          minimum: 0
          description: The quantity of each of the goods, materials, or services listed in the receivable.
        tax_rate_name:
          type: string
          maxLength: 64
          description: Specifies the display name of the tax rate. This field is applicable only when tax_rate_value is also provided.
        tax_rate_value:
          type: integer
          maximum: 10000
          minimum: 0
          description: 'Percent minor units. Example: 12.5% is 1250. This field is only required on invoices issued by entities in the US, Pakistan, and other unsupported countries.'
        tax_status:
          allOf:
            - $ref: '#/components/schemas/TaxStatusEnum'
          description: |-
            Tax applicability status of the line item. Possible values:

            * `taxable` (default) - Standard tax behavior. Requires the tax rate to be specified.
            * `exempt` - Line item is exempt from taxes. Exempt items are not included in total tax calculations.
            * `non_taxable` - Line item is outside the tax scope entirely, cannot have tax rates.
        vat_rate_id:
          type: string
          format: uuid
          description: Unique identifier of the vat rate object. This field is required for all entities in supported countries except the US and Pakistan.
      additionalProperties: false
      type: object
    LineItemsRenderingSettings:
      properties:
        discount:
          $ref: '#/components/schemas/LineItemColumnSettings'
          description: Settings for the discount column in the line items table.
        measure_unit:
          $ref: '#/components/schemas/LineItemColumnSettings'
          description: Settings for the measure unit column in the line items table.
        name:
          $ref: '#/components/schemas/LineItemColumnSettings'
          description: Settings for the name column in the line items table.
        price:
          $ref: '#/components/schemas/LineItemNumericColumnSettings'
          description: Settings for the price column in the line items table.
        price_after_vat:
          $ref: '#/components/schemas/LineItemNumericColumnSettings'
          description: Settings for the price after VAT column in the line items table.
        quantity:
          $ref: '#/components/schemas/LineItemColumnSettings'
          description: Settings for the quantity column in the line items table.
        total_price:
          $ref: '#/components/schemas/LineItemNumericColumnSettings'
          description: Settings for the total price column in the line items table.
        total_price_after_vat:
          $ref: '#/components/schemas/LineItemNumericColumnSettings'
          description: Settings for the total price after VAT column in the line items table.
        vat_amount:
          $ref: '#/components/schemas/LineItemNumericColumnSettings'
          description: Settings for the VAT amount column in the line items table.
          default:
            display: false
        vat_rate:
          $ref: '#/components/schemas/LineItemNumericColumnSettings'
          description: Settings for the VAT rate column in the line items table.
      type: object
    LineItemsReplaceRequest:
      properties:
        data:
          items:
            $ref: '#/components/schemas/LineItemInternalRequest'
          type: array
      type: object
      required:
        - data
    LineItemsReplaceResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/LineItemResponse'
          type: array
      type: object
      required:
        - data
    LineItemsResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ResponseItem'
          type: array
          description: The list of line items.
      additionalProperties: false
      type: object
      required:
        - data
    MailSentEventData:
      properties:
        mail_id:
          type: string
          format: uuid
          description: ID of the email sending operation. Can be used to get the email sending status from `GET /receivables/{receivable_id}/mails/{mail_id}`.
          examples:
            - d6185c8d-527c-4586-84c9-95881e7ba19f
        mail_status:
          allOf:
            - $ref: '#/components/schemas/ReceivableMailStatusEnum'
          description: The overall email sending status across all recipients.
        recipients:
          allOf:
            - $ref: '#/components/schemas/ReceivableMailRecipients'
          description: Contains a list of email recipients (To, CC, BCC) and the email sending status for each recipient.
      additionalProperties: false
      type: object
      required:
        - mail_id
        - mail_status
        - recipients
      description: Contains information about a sent email.
    MailSettings:
      properties:
        attach_documents_as_pdf:
          type: boolean
          description: |-
            This setting affects accounts receivable emails.

            If it is `true`, emails sent by [`POST /receivables/{receivable_id}/send`](https://docs.monite.com/api/receivables/post-receivables-id-send) will include the PDF version of the specified invoice, quote, or credit note as an attachment. When emailing [e-invoices](https://docs.monite.com/e-invoicing/send), e-invoice XML will also be attached to the email.

            If it is `false`, PDFs and e-invoice XML is not attached to outgoing emails.
          default: true
        from_email_username:
          anyOf:
            - type: string
              maxLength: 64
              minLength: 1
            - type: "null"
          description: |-
            The local part of the sender email address (the part before the @domain). If `null`, defaults to `noreply`.

            For example, to send emails from `Acme Inc. <invoicing@example.com>` use "invoicing" as the `from_email_username` value.

            To customize the domain name for outgoing emails, [set up a mailbox](https://docs.monite.com/advanced/mailboxes#manage-mailboxes) for the entity.
        from_name:
          anyOf:
            - type: string
              maxLength: 30
              minLength: 1
            - type: "null"
          description: |-
            The sender name in outgoing emails. For example, to send emails from `Acme Inc. <invoicing@example.com>` use "Acme Inc." as the `from_name` value.

            If `null`, the sender address will be just an email address without a name.
      type: object
    MailboxDataResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/MailboxResponse'
          type: array
      type: object
    MailboxDomainRequest:
      properties:
        mailbox_domain_id:
          type: string
          format: uuid
        mailbox_name:
          type: string
        related_object_type:
          allOf:
            - $ref: '#/components/schemas/MailboxObjectTypeEnum'
          description: 'Related object type: payable and so on'
      additionalProperties: false
      type: object
      required:
        - mailbox_domain_id
        - mailbox_name
        - related_object_type
    MailboxMultipleEntitiesRequest:
      properties:
        entity_ids:
          items:
            type: string
            format: uuid
          type: array
      additionalProperties: false
      type: object
      required:
        - entity_ids
    MailboxObjectTypeEnum:
      type: string
      enum:
        - payable
        - receipt
    MailboxResponse:
      properties:
        id:
          type: string
          format: uuid
          description: Mailbox UUID
        mailbox_domain_id:
          type: string
          format: uuid
        mailbox_full_address:
          type: string
        mailbox_name:
          type: string
        related_object_type:
          type: string
        status:
          type: string
      type: object
      required:
        - id
        - mailbox_full_address
        - mailbox_name
        - related_object_type
        - status
    MessageResponse:
      properties:
        message:
          type: string
      type: object
      required:
        - message
    MissingFields:
      properties:
        counterpart:
          items:
            type: string
          type: array
          description: Missing fields of counterpart.
        entity:
          items:
            type: string
          type: array
          description: Missing fields of entity.
        products:
          items:
            $ref: '#/components/schemas/MissingLineItemFields'
          type: array
          description: Missing fields of line items.
        receivable:
          items:
            type: string
          type: array
          description: Missing fields of receivable.
        vat_rates:
          items:
            type: string
          type: array
          description: List of invalid vat rates.
      additionalProperties: false
      type: object
    MissingLineItemFields:
      properties:
        line_item_number:
          type: integer
          description: Order number of line item.
        missing_fields:
          items:
            type: string
          type: array
          description: Missing fields of line item.
      additionalProperties: false
      type: object
      required:
        - line_item_number
        - missing_fields
    MoniteAllPaymentMethods:
      type: string
      enum:
        - SEPA Payments
        - US ACH Payments
        - BLIK
        - Card payments
        - Bacs Direct Debit
        - Bancontact
        - Electronic Payment Standard
        - Giropay
        - iDEAL
        - Przelewy24
        - SEPA Direct Debit
        - SOFORT
        - Apple Pay
        - Google Pay
        - Affirm
        - Klarna
    MoniteAllPaymentMethodsTypes:
      type: string
      enum:
        - sepa_credit
        - us_ach
        - blik
        - card
        - bacs_direct_debit
        - bancontact
        - eps
        - giropay
        - ideal
        - p24
        - sepa_debit
        - sofort
        - applepay
        - googlepay
        - affirm
        - klarna
    NextDocumentNumbers:
      properties:
        credit_note:
          type: integer
          description: Next credit note number
          default: 1
        delivery_note:
          type: integer
          description: Next delivery note number
          default: 1
        invoice:
          type: integer
          description: Next invoice number
          default: 1
        purchase_order:
          type: integer
          description: Next purchase order number
          default: 1
        quote:
          type: integer
          description: Next quote number
          default: 1
      additionalProperties: false
      type: object
    OCRAddress:
      properties:
        city:
          type: string
          description: City name.
          example: Berlin
        country:
          type: string
          description: Two-letter ISO country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
          example: DE
        line1:
          type: string
          description: Street address.
          example: Flughafenstrasse 52
        line2:
          type: string
          description: Additional address information (if any).
        original_country_name:
          type: string
          description: Country name as it is stated in the document.
          example: Berlin
        postal_code:
          type: string
          description: ZIP or postal code.
          example: "10115"
        state:
          type: string
          description: State, region, province, or county.
      type: object
      description: |-
        In general it's compatible with CounterpartAddress model but
        * All fields are optional
        * There is an additional field original_country_name
    OCRAddressDetails:
      properties:
        city:
          type: string
        country:
          $ref: '#/components/schemas/AllowedCountries'
        postal_code:
          type: string
        state:
          type: string
        street_and_number:
          type: string
      additionalProperties: false
      type: object
    OCRBankDetails:
      properties:
        bank_account_number:
          type: string
        iban:
          type: string
        swift_bic:
          type: string
      additionalProperties: false
      type: object
    OCRCounterpartDetails:
      properties:
        address:
          $ref: '#/components/schemas/OCRAddressDetails'
        bank_account:
          $ref: '#/components/schemas/OCRBankDetails'
        email:
          type: string
        name:
          type: string
        tax_number:
          type: string
        vat_number:
          type: string
      additionalProperties: false
      type: object
      required:
        - address
        - bank_account
    OCRCreditNote:
      properties:
        currency:
          $ref: '#/components/schemas/CurrencyEnum'
        document_number:
          type: string
        issue_date:
          type: string
          format: date
        line_items:
          items:
            $ref: '#/components/schemas/OCRLineItem'
          type: array
        original_invoice_number:
          type: string
        recipient:
          $ref: '#/components/schemas/OCRCounterpartDetails'
        sender:
          $ref: '#/components/schemas/OCRCounterpartDetails'
        subtotal:
          type: number
        tax_amount:
          type: number
        tax_rate:
          type: number
        total_amount:
          type: number
        type:
          type: string
          enum:
            - credit_note
          default: credit_note
      additionalProperties: false
      type: object
      required:
        - sender
        - recipient
        - line_items
    OCRDocumentTypeEnum:
      type: string
      enum:
        - invoice
        - credit_note
        - receipt
    OCRFileUpload:
      properties:
        file:
          type: string
          format: binary
      type: object
      required:
        - file
    OCRInvoice:
      properties:
        amount_paid:
          type: number
        currency:
          $ref: '#/components/schemas/CurrencyEnum'
        document_number:
          type: string
        due_date:
          type: string
          format: date
        issue_date:
          type: string
          format: date
        line_items:
          items:
            $ref: '#/components/schemas/OCRLineItem'
          type: array
        payment_terms:
          type: string
        recipient:
          $ref: '#/components/schemas/OCRCounterpartDetails'
        sender:
          $ref: '#/components/schemas/OCRCounterpartDetails'
        subtotal:
          type: number
        tax_amount:
          type: number
        tax_rate:
          type: number
        total_amount:
          type: number
        type:
          type: string
          enum:
            - invoice
          default: invoice
      additionalProperties: false
      type: object
      required:
        - sender
        - recipient
    OCRLineItem:
      properties:
        description:
          type: string
        line_reference:
          type: string
        name:
          type: string
        quantity:
          type: number
        subtotal:
          type: number
        tax_amount:
          type: number
        tax_rate:
          type: number
        total_amount:
          type: number
        unit:
          type: string
        unit_price:
          type: number
      additionalProperties: false
      type: object
    OCRReceipt:
      properties:
        currency:
          $ref: '#/components/schemas/CurrencyEnum'
        discount:
          type: number
        document_number:
          type: string
        issued_at:
          type: string
          format: date-time
        line_items:
          items:
            $ref: '#/components/schemas/OCRReceiptLineItem'
          type: array
        sender:
          $ref: '#/components/schemas/OCRCounterpartDetails'
        subtotal:
          type: number
        tax_amount:
          type: number
        tax_rate:
          type: number
        tax_type:
          type: string
        total_amount:
          type: number
        type:
          type: string
          enum:
            - receipt
          default: receipt
      additionalProperties: false
      type: object
      required:
        - line_items
        - sender
    OCRReceiptLineItem:
      properties:
        description:
          type: string
        discount_amount:
          type: number
        line_reference:
          type: string
        name:
          type: string
        quantity:
          type: number
        subtotal:
          type: number
        tax_amount:
          type: number
        tax_rate:
          type: number
        total_amount:
          type: number
        unit:
          type: string
        unit_price:
          type: number
      additionalProperties: false
      type: object
    OCRResponseInvoiceReceiptData:
      properties:
        counterpart_account_id:
          type: string
          description: Counterpart bank ID
          example: DEUTDEFF
        counterpart_account_number:
          type: string
          description: The bank account number
        counterpart_address:
          type: string
          description: Counterpart address
        counterpart_address_object:
          allOf:
            - $ref: '#/components/schemas/OCRAddress'
          description: Counterpart address as a json object compatible with counterparts service
        counterpart_branch_number:
          type: string
          description: The bank branch number
        counterpart_email:
          type: string
          description: Email address of the counterpart
        counterpart_name:
          type: string
          description: Counterpart name
          example: Monite GMbH
        counterpart_routing_number:
          type: string
          description: The bank routing number
        counterpart_vat_id:
          type: string
          description: Counterpart VAT ID
          example: DE88939004
        currency:
          type: string
          description: ISO 4217 currency code
          example: EUR
        discount_raw:
          type: number
          description: Discount Raw amount
        document_due_date:
          type: string
          description: Document due date in ISO format
        document_id:
          type: string
          description: Invoice/receipt ID
          example: CST-13341
        document_issued_at_date:
          type: string
          description: Document issuance date in ISO format
        line_items_raw:
          items:
            $ref: '#/components/schemas/OCRResponseInvoiceReceiptLineItemRaw'
          type: array
          description: List of line items from document raw, without minor units conversion.
        payment_terms_raw:
          items:
            type: string
          type: array
          description: Raw payment terms parsed but not calculated.
        purchase_order_number:
          type: string
          description: Purchase Order Number
          example: "1234"
        tax_payer_id:
          type: string
          description: Tax payer ID
          example: "12345678901"
        total_excl_vat_raw:
          type: number
          description: Subtotal, without minor units
          example: 77
        total_paid_amount_raw:
          type: number
          description: Total paid amount
          default: 0
          example: 50
        total_raw:
          type: number
          description: Total, without minor units
          example: 70
        total_vat_amount_raw:
          type: number
          description: VAT amount, without minor units
          example: 7
        total_vat_rate_raw:
          type: number
          description: VAT Percent raw, without minor units.
          example: 12.5
        type:
          type: string
          enum:
            - invoice
          default: invoice
      type: object
    OCRResponseInvoiceReceiptLineItemRaw:
      properties:
        description:
          type: string
          description: Human-readable line item description
          example: 'Impact Players : How to Take the Lead , Play Bigger , and Multiply Your'
        item_adjusted:
          type: boolean
          description: Item Quantity/Unit Price adjusted
          default: false
        line_item_ocr_id:
          type: string
          description: OCR Id of line item
        quantity:
          type: number
          description: Quantity
          example: 1.2
        total_excl_vat:
          type: number
          description: Total excluded VAT as parsed.
          example: 120
        total_incl_vat:
          type: number
          description: Total included VAT as parsed.
          example: 135
        unit:
          type: string
          description: Unit
          example: meters
        unit_price:
          type: number
          description: Price as parsed
          example: 100
        vat_amount:
          type: number
          description: VAT Amount as parsed.
          example: 15
        vat_percentage:
          type: number
          description: VAT Percent as parsed.
          example: 12.5
      type: object
    OCRTaskStatus:
      type: string
      enum:
        - processing
        - success
        - error
    OCRTasksPaginationResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/OcrTaskResponseSchema'
          type: array
        next_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the next page of results, or `null` if there is no next page (i.e. you've reached the last page).
        prev_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the previous page of results, or `null` if there is no previous page (i.e. you've reached the first page).
      type: object
      required:
        - data
      description: A paginated list of ocr requests.
    ObjectMatchTypes:
      type: string
      enum:
        - product
        - customer
        - vendor
        - receivable
        - bill
        - payment_record
    ObjectType:
      type: string
      enum:
        - account
        - approval
        - approval_request
        - approval_policy
        - approval_policy_process
        - audit_trail
        - comment
        - counterpart
        - counterpart_address
        - counterpart_bank_account
        - counterpart_contact_person
        - counterpart_partner_metadata
        - counterpart_tax_id
        - counterpart_vat_id
        - delivery_note
        - einvoicing
        - entity
        - entity_bank_account
        - entity_settings
        - entity_token
        - entity_user
        - entity_user_token
        - entity_vat_ids
        - export
        - mailbox
        - monitescript_process
        - ocr_task
        - onboarding
        - overdue_reminder
        - partner
        - partner_internal_config
        - partner_settings
        - partner_token
        - payable
        - payable_line_item
        - payables_credit_note
        - payables_purchase_order
        - payment
        - payment_intent
        - payment_link
        - payment_record
        - payment_reminder
        - person
        - product
        - project
        - receivable
        - reconciliation
        - recurrence
        - receipt
        - role
        - tag
        - todo_task
        - todo_task_mute
        - transaction
        - webhook
        - workflow
        - workflow_pipeline
    ObjectTypeAvailableComment:
      enum:
        - payable
    ObjectTypeEnum:
      type: string
      enum:
        - receivable
        - payable
    ObtainTokenPayload:
      properties:
        client_id:
          type: string
          format: uuid
          description: Your partner [client ID](https://docs.monite.com/get-started/credentials#get-credentials) obtained from the "API Credentials" section of Monite Partner Portal. Note that the sandbox and production environment use different client IDs.
          examples:
            - eb959578-a74d-4ac3-8b25-bf0910027857
        client_secret:
          type: string
          description: Your partner [client secret](https://docs.monite.com/get-started/credentials#get-credentials) obtained from the "API Credentials" section of Monite Partner Portal. Note that the sandbox and production environment use different client secrets.
          examples:
            - 14c84a34-282b-4fd8-8af6-86b5b5f2c212
        entity_user_id:
          anyOf:
            - type: string
              format: uuid
            - type: "null"
          description: ID of the entity user to generate the access token for. Used only if `grant_type` is `entity_user`.
          examples:
            - 7abd8744-507c-40e6-a5ca-34aa480b3991
        grant_type:
          $ref: '#/components/schemas/GrantType'
          description: |-
            The type of the access token to generate:

             * `client_credentials` - partner-level access token,
             * `entity_user` - entity user token.
      additionalProperties: false
      type: object
      required:
        - client_id
        - client_secret
        - grant_type
    OcrAutoTaggingSettingsRequest:
      properties:
        enabled:
          type: boolean
          description: A switch to temporarily disable a keyword without removing it from the list.
        keywords:
          items:
            type: string
          type: array
          maxItems: 50
          minItems: 1
          description: A list of words that will be searched for assigning a tag in the recognized fields of the document after OCR processing. If at least one match is found, the tag will be assigned. Each keyword must be between 2 and 25 characters long.
        tag_id:
          type: string
          format: uuid
          description: Tag identifier that will be assigned to the payable document if one of the words listed in keywords is found during OCR.
      additionalProperties: false
      type: object
      required:
        - enabled
        - keywords
        - tag_id
    OcrRecognitionResponse:
      properties:
        line_items:
          items:
            $ref: '#/components/schemas/LabelNValue'
          type: array
          description: Text content of the invoice line items as recognized by OCR.
        summary:
          items:
            $ref: '#/components/schemas/LabelNValue'
          type: array
          description: Invoice text content other than the line items. Such as the invoice issue and due dates, vendor name and address, and other general information.
      type: object
      description: |-
        Contains information about all text blocks extracted from an uploaded invoice by OCR.
        The text blocks are grouped into `line_items` (invoice line items) and `summary` (all other information).
        Legacy schema used for AWS textract recognition.
    OcrStatusEnum:
      type: string
      enum:
        - processing
        - error
        - success
        - canceled
    OcrTaskResponseSchema:
      properties:
        id:
          type: string
          format: uuid
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        document_type:
          $ref: '#/components/schemas/OCRDocumentTypeEnum'
        recognized_data:
          anyOf:
            - $ref: '#/components/schemas/OCRInvoice'
            - $ref: '#/components/schemas/OCRCreditNote'
            - $ref: '#/components/schemas/OCRReceipt'
        status:
          $ref: '#/components/schemas/OCRTaskStatus'
      type: object
      required:
        - id
        - created_at
        - updated_at
        - status
    OnboardingPaymentMethodsResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/PaymentMethod'
          type: array
      additionalProperties: false
      type: object
      required:
        - data
    OnboardingRequirementsError:
      properties:
        code:
          type: string
        reason:
          type: string
        requirement:
          type: string
      additionalProperties: false
      type: object
      required:
        - code
        - reason
        - requirement
    OnboardingRequirementsResponse:
      properties:
        disabled_reason:
          $ref: '#/components/schemas/AccountDisabledReason'
        requirements:
          $ref: '#/components/schemas/PaymentRequirements'
        requirements_errors:
          items:
            $ref: '#/components/schemas/RequirementsError'
          type: array
        verification_errors:
          items:
            $ref: '#/components/schemas/VerificationError'
          type: array
        verification_status:
          $ref: '#/components/schemas/VerificationStatusEnum'
      additionalProperties: false
      type: object
      required:
        - requirements
        - requirements_errors
        - verification_errors
        - verification_status
    OnboardingVerificationError:
      properties:
        code:
          type: string
        details:
          type: string
      additionalProperties: false
      type: object
      required:
        - code
        - details
    OnboardingVerificationStatusEnum:
      type: string
      enum:
        - enabled
        - disabled
        - pending
    OpenBankingVerificationStatusEnum:
      type: string
      enum:
        - not_verified
        - verified
        - failed
        - expired
        - pending
        - not_applicable
    OptionalIndividualSchema:
      properties:
        date_of_birth:
          anyOf:
            - type: string
              format: date
            - type: "null"
        first_name:
          anyOf:
            - type: string
              maxLength: 100
              minLength: 1
            - type: "null"
          description: A first name of an individual
        id_number:
          anyOf:
            - type: string
              maxLength: 100
              minLength: 1
            - type: "null"
        last_name:
          anyOf:
            - type: string
              maxLength: 100
              minLength: 1
            - type: "null"
          description: A last name of an individual
        ssn_last_4:
          anyOf:
            - type: string
              maxLength: 4
              minLength: 4
            - type: "null"
          description: The last four digits of the individual's Social Security number
        title:
          anyOf:
            - type: string
              maxLength: 10
              minLength: 1
            - type: "null"
          description: A title of an individual
      additionalProperties: false
      type: object
      description: A schema for metadata for updating an individual
    OptionalOrganizationSchema:
      properties:
        business_structure:
          anyOf:
            - $ref: '#/components/schemas/EntityBusinessStructure'
            - type: "null"
          description: Business structure of the company
        directors_provided:
          anyOf:
            - type: boolean
            - type: "null"
        executives_provided:
          anyOf:
            - type: boolean
            - type: "null"
        legal_entity_id:
          anyOf:
            - type: string
              maxLength: 20
              minLength: 1
            - type: "null"
          description: A code which identifies uniquely a party of a transaction worldwide
        legal_name:
          anyOf:
            - type: string
              maxLength: 255
              minLength: 1
            - type: "null"
          description: A legal name of an organization
        owners_provided:
          anyOf:
            - type: boolean
            - type: "null"
        representative_provided:
          anyOf:
            - type: boolean
            - type: "null"
      additionalProperties: false
      type: object
      description: A schema contains metadata for updating an organization
    OptionalPersonAddressRequest:
      properties:
        city:
          anyOf:
            - type: string
              maxLength: 100
              minLength: 1
            - type: "null"
          description: City, district, suburb, town, or village
        country:
          anyOf:
            - $ref: '#/components/schemas/AllowedCountries'
            - type: "null"
          description: Two-letter country code (ISO 3166-1 alpha-2)
          examples:
            - DE
        line1:
          anyOf:
            - type: string
              maxLength: 200
              minLength: 1
            - type: "null"
          description: Address line 1 (e.g., street, PO Box, or company name)
        line2:
          anyOf:
            - type: string
              maxLength: 100
              minLength: 1
            - type: "null"
          description: Address line 2 (e.g., apartment, suite, unit, or building)
        postal_code:
          anyOf:
            - type: string
              maxLength: 10
              minLength: 1
            - type: "null"
          description: ZIP or postal code
        state:
          anyOf:
            - type: string
              maxLength: 100
              minLength: 1
            - type: "null"
          description: State, county, province, or region
      additionalProperties: false
      type: object
    OptionalPersonRelationship:
      properties:
        director:
          anyOf:
            - type: boolean
            - type: "null"
          description: Whether the person is a director of the account's legal entity
        executive:
          anyOf:
            - type: boolean
            - type: "null"
          description: Whether the person has significant responsibility to control, manage, or direct the organization
        owner:
          anyOf:
            - type: boolean
            - type: "null"
          description: Whether the person is an owner of the account's legal entity
        percent_ownership:
          anyOf:
            - type: number
              maximum: 100
              minimum: 0
            - type: "null"
          description: The percent owned by the person of the account's legal entity
        representative:
          anyOf:
            - type: boolean
            - type: "null"
          description: Whether the person is authorized as the primary representative of the account
        title:
          anyOf:
            - type: string
              maxLength: 100
              minLength: 1
            - type: "null"
          description: The person's title (e.g., CEO, Support Engineer)
      additionalProperties: false
      type: object
    OptionalPersonRequest:
      properties:
        address:
          anyOf:
            - $ref: '#/components/schemas/OptionalPersonAddressRequest'
            - type: "null"
          description: The person's address
        citizenship:
          anyOf:
            - $ref: '#/components/schemas/AllowedCountries'
            - type: "null"
          description: Required for persons of US entities. The country of the person's citizenship, as a two-letter country code (ISO 3166-1 alpha-2). In case of dual or multiple citizenship, specify any.
          examples:
            - DE
        date_of_birth:
          anyOf:
            - type: string
              format: date
            - type: "null"
          description: The person's date of birth
        email:
          anyOf:
            - type: string
              format: email
            - type: "null"
          description: The person's email address
        first_name:
          anyOf:
            - type: string
              maxLength: 100
              minLength: 1
            - type: "null"
          description: The person's first name
        id_number:
          anyOf:
            - type: string
              maxLength: 100
              minLength: 1
            - type: "null"
          description: The person's ID number, as appropriate for their country
        last_name:
          anyOf:
            - type: string
              maxLength: 100
              minLength: 1
            - type: "null"
          description: The person's last name
        phone:
          anyOf:
            - type: string
            - type: "null"
          description: The person's phone number
        relationship:
          anyOf:
            - $ref: '#/components/schemas/OptionalPersonRelationship'
            - type: "null"
          description: Describes the person's relationship to the entity
        ssn_last_4:
          anyOf:
            - type: string
              maxLength: 4
              minLength: 4
            - type: "null"
          description: The last four digits of the person's Social Security number
      additionalProperties: false
      type: object
    OrderEnum:
      type: string
      enum:
        - asc
        - desc
    OrganizationResponseSchema:
      properties:
        business_structure:
          anyOf:
            - $ref: '#/components/schemas/EntityBusinessStructure'
            - type: "null"
          description: Business structure of the company
        directors_provided:
          anyOf:
            - type: boolean
            - type: "null"
        executives_provided:
          anyOf:
            - type: boolean
            - type: "null"
        legal_entity_id:
          anyOf:
            - type: string
              maxLength: 20
            - type: "null"
          description: A code which identifies uniquely a party of a transaction worldwide
        legal_name:
          type: string
          maxLength: 255
          description: The legal name of the organization.
        owners_provided:
          anyOf:
            - type: boolean
            - type: "null"
        representative_provided:
          anyOf:
            - type: boolean
            - type: "null"
      type: object
      required:
        - legal_name
      description: Contains data specific to entities of the `organization` type.
    OrganizationSchema:
      properties:
        business_structure:
          anyOf:
            - $ref: '#/components/schemas/EntityBusinessStructure'
            - type: "null"
          description: Business structure of the company
        directors_provided:
          anyOf:
            - type: boolean
            - type: "null"
        executives_provided:
          anyOf:
            - type: boolean
            - type: "null"
        legal_entity_id:
          anyOf:
            - type: string
              maxLength: 20
              minLength: 1
            - type: "null"
          description: A code which identifies uniquely a party of a transaction worldwide
        legal_name:
          type: string
          maxLength: 255
          minLength: 1
          description: The legal name of the organization. If this organization will use Monite payment rails, this name must be up to 100 characters long, otherwise it can be up to 255 characters long.
        owners_provided:
          anyOf:
            - type: boolean
            - type: "null"
        representative_provided:
          anyOf:
            - type: boolean
            - type: "null"
      type: object
      required:
        - legal_name
      description: A schema contains metadata for an organization
    OriginEnum:
      type: string
      enum:
        - upload
        - einvoicing
    OverdueReminderRequest:
      properties:
        name:
          type: string
          maxLength: 255
          minLength: 1
        recipients:
          $ref: '#/components/schemas/Recipients'
        terms:
          items:
            $ref: '#/components/schemas/OverdueReminderTerm'
          type: array
          maxItems: 3
          minItems: 1
          description: Overdue reminder terms to send for payment
      additionalProperties: false
      type: object
      required:
        - name
    OverdueReminderResponse:
      properties:
        id:
          type: string
          format: uuid
        created_at:
          type: string
          format: date-time
          description: Time at which the OverdueReminder was created. Timestamps follow the ISO 8601 standard.
        updated_at:
          type: string
          format: date-time
          description: Time at which the OverdueReminder was last updated. Timestamps follow the ISO 8601 standard.
        name:
          type: string
        recipients:
          $ref: '#/components/schemas/Recipients'
        terms:
          items:
            $ref: '#/components/schemas/OverdueReminderTerm'
          type: array
          minItems: 1
          description: Overdue reminder terms to send for payment
      type: object
      required:
        - id
        - created_at
        - updated_at
        - name
    OverdueReminderTerm:
      properties:
        body:
          type: string
        days_after:
          type: integer
          maximum: 10000
          minimum: 1
        subject:
          type: string
      additionalProperties: false
      type: object
      required:
        - body
        - days_after
        - subject
    OverdueReminderUpdateRequest:
      properties:
        name:
          type: string
          maxLength: 255
          minLength: 1
        recipients:
          $ref: '#/components/schemas/Recipients'
        terms:
          items:
            $ref: '#/components/schemas/OverdueReminderTerm'
          type: array
          maxItems: 3
          minItems: 1
          description: Overdue reminder terms to send for payment
      additionalProperties: false
      type: object
    OwnershipDeclaration-Input:
      properties:
        date:
          anyOf:
            - type: string
              format: date-time
            - type: "null"
          description: The date and time (in the ISO 8601 format) when the beneficial owner attestation was made.
        ip:
          anyOf:
            - type: string
              format: ipvanyaddress
            - type: "null"
          description: The IP address from which the beneficial owner attestation was made. If omitted or set to `null` in the request, the IP address is inferred from the request origin or the `X-Forwarded-For` request header.
          examples:
            - 203.0.113.24
      additionalProperties: false
      type: object
    OwnershipDeclaration-Output:
      properties:
        date:
          anyOf:
            - type: string
              format: date-time
            - type: "null"
          description: The date and time (in the ISO 8601 format) when the beneficial owner attestation was made.
        ip:
          anyOf:
            - type: string
            - type: "null"
          description: The IP address from which the beneficial owner attestation was made. If omitted or set to `null` in the request, the IP address is inferred from the request origin or the `X-Forwarded-For` request header.
          examples:
            - 203.0.113.24
      additionalProperties: false
      type: object
    PageSchema:
      properties:
        id:
          type: string
          format: uuid
          description: A unique ID of the image.
        mimetype:
          type: string
          description: The [media type](https://developer.mozilla.org/en-US/docs/Web/HTTP/MIME_types) of the image.
          examples:
            - image/png
        number:
          type: integer
          minimum: 0
          description: The page number in the PDF document, from 0.
          examples:
            - 0
        size:
          type: integer
          minimum: 0
          description: Image file size, in bytes.
          examples:
            - 21972
        url:
          type: string
          description: The URL to download the image.
          examples:
            - https://bucket.s3.amazonaws.com/123/456.png
      type: object
      required:
        - id
        - mimetype
        - number
        - size
        - url
      description: |-
        When a PDF document is uploaded to Monite, it extracts individual pages from the document
        and saves them as PNG images. This object contains the image and metadata of a single page.
    PageSchema2:
      properties:
        id:
          type: string
          format: uuid
          description: A unique ID of the image.
        mimetype:
          type: string
          description: The [media type](https://developer.mozilla.org/en-US/docs/Web/HTTP/MIME_types) of the image.
          example: image/png
        number:
          type: integer
          minimum: 0
          description: The page number in the PDF document, from 0.
          example: 0
        size:
          type: integer
          minimum: 0
          description: Image file size, in bytes.
          example: 21972
        url:
          type: string
          description: The URL to download the image.
          example: https://bucket.s3.amazonaws.com/123/456.png
      type: object
      required:
        - id
        - mimetype
        - size
        - number
        - url
      description: |-
        When a PDF document is uploaded to Monite, it extracts individual pages from the document
        and saves them as PNG images. This object contains the image and metadata of a single page.
    PageSchema3:
      properties:
        id:
          type: string
          format: uuid
          description: A unique ID of the image.
        mimetype:
          type: string
          description: The [media type](https://developer.mozilla.org/en-US/docs/Web/HTTP/MIME_types) of the image.
          example: image/png
        number:
          type: integer
          minimum: 0
          description: The page number in the PDF document, from 0.
          example: 0
        size:
          type: integer
          minimum: 0
          description: Image file size, in bytes.
          example: 21972
        url:
          type: string
          description: The URL to download the image.
          example: https://bucket.s3.amazonaws.com/123/456.png
      type: object
      required:
        - id
        - mimetype
        - number
        - size
        - url
      description: |-
        When a PDF document is uploaded to Monite, it extracts individual pages from the document
        and saves them as PNG images. This object contains the image and metadata of a single page.
    PartiallyPaidPayload:
      properties:
        amount_paid:
          type: integer
          minimum: 0
          description: How much was paid on the invoice (in minor units).
      additionalProperties: false
      type: object
      required:
        - amount_paid
    PartnerMetadata:
      properties:
        metadata:
          additionalProperties: true
          type: object
          description: Metadata for partner needs
      type: object
      required:
        - metadata
    PartnerMetadataResponse:
      properties:
        metadata:
          anyOf:
            - additionalProperties: true
              type: object
            - type: "null"
          description: Metadata for partner needs
      type: object
    PartnerProjectSettingsPayload-Input:
      properties:
        api_version:
          anyOf:
            - $ref: '#/components/schemas/APIVersion'
            - type: "null"
          description: Default API version for partner.
        commercial_conditions:
          anyOf:
            - items:
                type: string
              type: array
            - type: "null"
          description: Unused. To specify the terms and conditions for invoices and quotes, use the `commercial_condition_description` field in those documents.
        currency:
          anyOf:
            - $ref: '#/components/schemas/CurrencySettings-Input'
            - type: "null"
          description: Custom currency exchange rates.
        default_role:
          anyOf:
            - additionalProperties: true
              type: object
            - type: "null"
          description: A default role to provision upon new entity creation.
        mail:
          anyOf:
            - $ref: '#/components/schemas/MailSettings'
            - type: "null"
          description: |-
            Settings for outgoing email. Used by:

             * accounts receivable emails, for example, emails sent by `POST /recevables/{receivable_id}/send`,
             * accounts payable approval notifications.
        payable:
          anyOf:
            - $ref: '#/components/schemas/PayableSettings'
            - type: "null"
          description: Settings for accounts payable.
        payments:
          anyOf:
            - $ref: '#/components/schemas/PaymentsSettings-Input'
            - type: "null"
          description: Settings for the payments module.
        receivable:
          anyOf:
            - $ref: '#/components/schemas/ReceivableSettings'
            - type: "null"
          description: Settings for accounts receivable.
        units:
          anyOf:
            - items:
                $ref: '#/components/schemas/Unit'
              type: array
            - type: "null"
          description: Unused. To manage the [measure units](https://docs.monite.com/accounts-receivable/products#manage-measure-units) for your entities, use the `/measure_units` endpoints.
        website:
          anyOf:
            - type: string
            - type: "null"
          description: The URL of the partner's website. Must be an HTTPS URL. Required if the partner's entities use [payment links](https://docs.monite.com/payments/payment-links). The "Powered by" badge in the payment page footer will link to this website.
          examples:
            - https://example.com/
      type: object
    PartnerProjectSettingsPayload-Output:
      properties:
        api_version:
          anyOf:
            - $ref: '#/components/schemas/APIVersion'
            - type: "null"
          description: Default API version for partner.
        commercial_conditions:
          anyOf:
            - items:
                type: string
              type: array
            - type: "null"
          description: Unused. To specify the terms and conditions for invoices and quotes, use the `commercial_condition_description` field in those documents.
        currency:
          anyOf:
            - $ref: '#/components/schemas/CurrencySettings-Output'
            - type: "null"
          description: Custom currency exchange rates.
        default_role:
          anyOf:
            - additionalProperties: true
              type: object
            - type: "null"
          description: A default role to provision upon new entity creation.
        mail:
          anyOf:
            - $ref: '#/components/schemas/MailSettings'
            - type: "null"
          description: |-
            Settings for outgoing email. Used by:

             * accounts receivable emails, for example, emails sent by `POST /recevables/{receivable_id}/send`,
             * accounts payable approval notifications.
        payable:
          anyOf:
            - $ref: '#/components/schemas/PayableSettings'
            - type: "null"
          description: Settings for accounts payable.
        payments:
          anyOf:
            - $ref: '#/components/schemas/PaymentsSettings-Output'
            - type: "null"
          description: Settings for the payments module.
        receivable:
          anyOf:
            - $ref: '#/components/schemas/ReceivableSettings'
            - type: "null"
          description: Settings for accounts receivable.
        units:
          anyOf:
            - items:
                $ref: '#/components/schemas/Unit'
              type: array
            - type: "null"
          description: Unused. To manage the [measure units](https://docs.monite.com/accounts-receivable/products#manage-measure-units) for your entities, use the `/measure_units` endpoints.
        website:
          anyOf:
            - type: string
            - type: "null"
          description: The URL of the partner's website. Must be an HTTPS URL. Required if the partner's entities use [payment links](https://docs.monite.com/payments/payment-links). The "Powered by" badge in the payment page footer will link to this website.
          examples:
            - https://example.com/
      type: object
    PatchSettingsPayload:
      properties:
        accounting:
          anyOf:
            - $ref: '#/components/schemas/AccountingSettings'
            - type: "null"
        allow_purchase_order_autolinking:
          anyOf:
            - type: boolean
            - type: "null"
          description: Automatically attempt to find a corresponding purchase order for all incoming payables.
          default: true
        currency:
          anyOf:
            - $ref: '#/components/schemas/CurrencySettings-Input'
            - type: "null"
        document_ids:
          anyOf:
            - $ref: '#/components/schemas/DocumentIDsSettingsRequest'
            - type: "null"
        document_rendering:
          $ref: '#/components/schemas/DocumentRenderingSettings-Input'
          description: Settings for rendering documents in PDF format.
        generate_paid_invoice_pdf:
          type: boolean
          description: |-
            This setting affects how PDF is generated for accounts receivable invoices that are paid, partially paid, or have credit notes applied.
            If this setting is `true`:

             * The totals block in the PDF invoice will include a list of all payments made and credit notes issued.
             * Once an invoice becomes fully paid, the payment link and QR code are removed.

            The PDF invoice gets regenerated at the moment when an invoice payment is recorded or a credit note is issued.  This PDF is not issued as a separate document, and the original PDF invoice is no longer available.
          default: false
        language:
          anyOf:
            - $ref: '#/components/schemas/LanguageCodeEnum'
            - type: "null"
        mail:
          anyOf:
            - $ref: '#/components/schemas/EntityMailSettings'
            - type: "null"
          description: Email settings for the entity
        payables_ocr_auto_tagging:
          anyOf:
            - items:
                $ref: '#/components/schemas/OcrAutoTaggingSettingsRequest'
              type: array
            - type: "null"
          description: Auto tagging settings for all incoming OCR payable documents.
        payables_skip_approval_flow:
          type: boolean
          description: If enabled, the approval policy will be skipped and the payable will be moved to `waiting_to_be_paid` status.
          default: false
        payment_priority:
          anyOf:
            - $ref: '#/components/schemas/PaymentPriorityEnum'
            - type: "null"
          description: Payment preferences for entity to automate calculating suggested payment date based on payment terms and entity preferences.
          default: working_capital
        quote_signature_required:
          type: boolean
          description: Sets the default behavior of whether a signature is required to accept quotes.
          default: false
        receivable_edit_flow:
          anyOf:
            - $ref: '#/components/schemas/ReceivableEditFlow'
            - type: "null"
          default: compliant
          description: |-
            [Invoice compliance mode](https://docs.monite.com/accounts-receivable/regulatory-compliance/invoice-compliance) for accounts receivable. Possible values:

             * `compliant` - invoices cannot be edited once issued.
             * `non_compliant` - issued invoices can still be edited.
             * `partially_compliant` - deprecated mode, should not be used.
        reminder:
          anyOf:
            - $ref: '#/components/schemas/RemindersSettings'
            - type: "null"
        vat_inclusive_discount_mode:
          $ref: '#/components/schemas/VatModeEnum'
          description: Defines whether the amount discounts (for percentage discounts it does not matter) on VAT inclusive invoices will be applied on amounts including VAT or excluding VAT.
          default: exclusive
        vat_mode:
          anyOf:
            - $ref: '#/components/schemas/VatModeEnum'
            - type: "null"
          description: Defines whether the prices of products in receivables will already include VAT or not.
          default: exclusive
      additionalProperties: false
      type: object
    PayableActionEnum:
      type: string
      enum:
        - create
        - read
        - update
        - delete
        - pay
        - approve
        - cancel
        - submit
        - create_from_mail
        - reopen
    PayableActionSchema:
      properties:
        action_name:
          $ref: '#/components/schemas/PayableActionEnum'
          description: Action name
          default: read
        permission:
          $ref: '#/components/schemas/PermissionEnum'
          description: Permission type
          default: allowed
      additionalProperties: false
      type: object
    PayableAggregatedDataResponse:
      properties:
        count:
          type: integer
          description: The total count of payables across all statuses.
        data:
          items:
            $ref: '#/components/schemas/PayableAggregatedItem'
          type: array
          description: A list of aggregated items, each representing a status with its associated sum of the amount field and count.
        sum_total_amount:
          type: integer
          description: The total sum of the amount field for all payables across all statuses.
      additionalProperties: false
      type: object
      required:
        - count
        - data
        - sum_total_amount
    PayableAggregatedItem:
      properties:
        count:
          type: integer
          description: The total count of payables with this specific status.
        status:
          allOf:
            - $ref: '#/components/schemas/PayableStateEnum'
          description: The status of the payable (e.g., paid, draft, etc.).
        sum_total_amount:
          type: integer
          description: The total sum of the amount field for all payables with this specific status.
      additionalProperties: false
      type: object
      required:
        - count
        - status
        - sum_total_amount
    PayableAnalyticsResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/AnalyticsDataPoint'
          type: array
      type: object
      required:
        - data
    PayableAttachFile:
      properties:
        file:
          type: string
          format: binary
      type: object
      required:
        - file
    PayableCreatedEventData:
      properties:
        payable_source:
          $ref: '#/components/schemas/PayableOriginEnum'
      additionalProperties: false
      type: object
      required:
        - payable_source
    PayableCreditNoteData:
      properties:
        id:
          type: string
          format: uuid
          description: The unique identifier of the credit note.
          example: 123e4567-e89b-12d3-a456-426614174000
        document_id:
          type: string
          description: The credit note's unique document number.
          example: CN-123456
        issued_at:
          type: string
          format: date
          description: The date when the credit note was issued, in the YYYY-MM-DD format
          example: "2024-01-15"
        status:
          type: string
          maxLength: 30
          description: The current status of the credit note in its lifecycle
          example: submitted_for_approval
        total_amount:
          type: integer
          description: Credit note total amount.
          example: 1000
      type: object
      required:
        - id
        - status
    PayableCreditNoteLinkedEventData:
      properties:
        credit_note_document_id:
          type: string
        credit_note_id:
          type: string
      additionalProperties: false
      type: object
      required:
        - credit_note_id
    PayableCreditNoteStateEnum:
      type: string
      enum:
        - new
        - draft
        - applied
        - approved
        - rejected
        - canceled
        - submitted_for_approval
      description: Credit note statuses (used in accounts payable).
    PayableCreditNoteUnlinkedEventData:
      properties:
        credit_note_document_id:
          type: string
        credit_note_id:
          type: string
      additionalProperties: false
      type: object
      required:
        - credit_note_id
    PayableCursorFields:
      type: string
      enum:
        - id
        - created_at
        - issued_at
    PayableDimensionEnum:
      type: string
      enum:
        - created_at
        - status
        - counterpart_id
        - currency
        - issued_at
        - due_date
        - project_id
    PayableEntityAddressSchema:
      properties:
        city:
          type: string
          maxLength: 255
          description: A city (a full name) where the entity is registered
        country:
          allOf:
            - $ref: '#/components/schemas/AllowedCountries'
          description: 'A country name (as ISO code) where the entity is registered '
          default: DE
          example: DE
        line1:
          type: string
          maxLength: 255
          description: A street where the entity is registered
        line2:
          type: string
          maxLength: 100
          description: An alternative street used by the entity
        postal_code:
          type: string
          maxLength: 10
          description: A postal code of the address where the entity is registered
        state:
          type: string
          maxLength: 255
          description: A state in a country where the entity is registered
      type: object
      required:
        - city
        - line1
        - postal_code
      description: A schema represents address info of the entity
    PayableEntityIndividualResponse:
      properties:
        id:
          type: string
          format: uuid
          description: UUID entity ID
        created_at:
          type: string
          format: date-time
          description: UTC datetime
        updated_at:
          type: string
          format: date-time
          description: UTC datetime
        address:
          $ref: '#/components/schemas/PayableEntityAddressSchema'
        email:
          type: string
          description: An official email address of the entity
        individual:
          allOf:
            - $ref: '#/components/schemas/PayableIndividualSchema'
          description: A set of metadata describing an individual
        logo:
          allOf:
            - $ref: '#/components/schemas/FileSchema3'
          description: A logo image of the entity
        phone:
          type: string
          maxLength: 100
          description: A phone number of the entity
        status:
          allOf:
            - $ref: '#/components/schemas/StatusEnum'
          description: record status, 'active' by default
        tax_id:
          type: string
          maxLength: 30
          description: The entity's taxpayer identification number or tax ID. This field is required for entities that are non-VAT registered.
        website:
          type: string
          maxLength: 2083
          minLength: 1
          format: uri
          description: A website of the entity
      type: object
      required:
        - id
        - created_at
        - updated_at
        - address
        - individual
        - status
      description: A base for an entity response schema
    PayableEntityOrganizationResponse:
      properties:
        id:
          type: string
          format: uuid
          description: UUID entity ID
        created_at:
          type: string
          format: date-time
          description: UTC datetime
        updated_at:
          type: string
          format: date-time
          description: UTC datetime
        address:
          $ref: '#/components/schemas/PayableEntityAddressSchema'
        email:
          type: string
          description: An official email address of the entity
        logo:
          allOf:
            - $ref: '#/components/schemas/FileSchema3'
          description: A logo image of the entity
        organization:
          allOf:
            - $ref: '#/components/schemas/PayableOrganizationSchema'
          description: A set of metadata describing an organization
        phone:
          type: string
          maxLength: 100
          description: A phone number of the entity
        status:
          allOf:
            - $ref: '#/components/schemas/StatusEnum'
          description: record status, 'active' by default
        tax_id:
          type: string
          maxLength: 30
          description: The entity's taxpayer identification number or tax ID. This field is required for entities that are non-VAT registered.
        website:
          type: string
          maxLength: 2083
          minLength: 1
          format: uri
          description: A website of the entity
      type: object
      required:
        - id
        - created_at
        - updated_at
        - address
        - organization
        - status
      description: A base for an entity response schema
    PayableHistoryCursorFields:
      type: string
      enum:
        - timestamp
    PayableHistoryEventTypeEnum:
      type: string
      enum:
        - status_changed
        - payable_created
        - payable_updated
        - credit_note_linked
        - credit_note_unlinked
        - file_attached
    PayableHistoryPaginationResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/PayableHistoryResponse'
          type: array
        next_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the next page of results, or `null` if there is no next page (i.e. you've reached the last page).
        prev_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the previous page of results, or `null` if there is no previous page (i.e. you've reached the first page).
      additionalProperties: false
      type: object
      required:
        - data
      description: A paginated list of change history records.
    PayableHistoryResponse:
      properties:
        id:
          type: string
          format: uuid
          description: A unique ID of the history record.
          examples:
            - cd58435b-1c79-4b17-9f79-f898c93e5f97
        entity_user_id:
          type: string
          format: uuid
          description: ID of the entity user who made the change or trigger the event, or `null` if it was done by using a partner access token.
          examples:
            - d5a577b0-01c0-4566-ac5c-44f41935e8c4
        event_data:
          anyOf:
            - $ref: '#/components/schemas/PayableStatusChangedEventData'
            - $ref: '#/components/schemas/PayableUpdatedEventData'
            - $ref: '#/components/schemas/PayableCreatedEventData'
            - $ref: '#/components/schemas/PayableCreditNoteLinkedEventData'
            - $ref: '#/components/schemas/PayableCreditNoteUnlinkedEventData'
            - $ref: '#/components/schemas/FileAttachedEventData'
          description: 'An object containing additional information about the event or change. The object structure varies based on the `event_type`. '
        event_type:
          allOf:
            - $ref: '#/components/schemas/PayableHistoryEventTypeEnum'
          description: The type of the event or change.
        payable_id:
          type: string
          format: uuid
          description: ID of the payable document that was changed or triggered an event.
          examples:
            - f669a8a4-0563-4ab9-b54f-e9d700d282c5
        timestamp:
          type: string
          format: date-time
          description: UTC date and time when the event or change occurred.
      type: object
      required:
        - id
        - event_data
        - event_type
        - payable_id
        - timestamp
    PayableIndividualSchema:
      properties:
        date_of_birth:
          type: string
          format: date
        first_name:
          type: string
          maxLength: 100
          description: A first name of an individual
        id_number:
          type: string
        last_name:
          type: string
          maxLength: 100
          description: A last name of an individual
        ssn_last_4:
          type: string
          description: The last four digits of the individual's Social Security number
        title:
          type: string
          maxLength: 10
          description: A title of an individual
      type: object
      required:
        - first_name
        - last_name
      description: A schema contains metadata for an individual
    PayableMetricEnum:
      type: string
      enum:
        - id
        - total_amount
        - amount_due
    PayableOrganizationSchema:
      properties:
        business_structure:
          allOf:
            - $ref: '#/components/schemas/EntityBusinessStructure'
          description: Business structure of the company
        directors_provided:
          type: boolean
        executives_provided:
          type: boolean
        legal_entity_id:
          type: string
          maxLength: 20
          description: A code which identifies uniquely a party of a transaction worldwide
        legal_name:
          type: string
          maxLength: 255
          minLength: 1
          description: A legal name of an organization
        owners_provided:
          type: boolean
        representative_provided:
          type: boolean
      type: object
      required:
        - legal_name
      description: A schema contains metadata for an organization
    PayableOriginEnum:
      type: string
      enum:
        - upload
        - email
        - einvoicing
    PayablePaginationResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/PayableResponseSchema'
          type: array
        next_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the next page of results, or `null` if there is no next page (i.e. you've reached the last page).
        prev_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the previous page of results, or `null` if there is no previous page (i.e. you've reached the first page).
      type: object
      required:
        - data
      description: A paginated list of payables.
    PayablePaymentTermDiscount:
      properties:
        discount:
          type: integer
          description: The discount percentage in minor units. E.g., 200 means 2%, 1050 means 10.5%.
        number_of_days:
          type: integer
          description: The amount of days after the invoice issue date.
      additionalProperties: false
      type: object
      required:
        - discount
        - number_of_days
    PayablePaymentTermFinal:
      properties:
        number_of_days:
          type: integer
          description: The amount of days after the invoice issue date.
      additionalProperties: false
      type: object
      required:
        - number_of_days
    PayablePaymentTermsCreatePayload:
      properties:
        description:
          type: string
        name:
          type: string
        term_1:
          $ref: '#/components/schemas/PayablePaymentTermDiscount'
        term_2:
          $ref: '#/components/schemas/PayablePaymentTermDiscount'
        term_final:
          $ref: '#/components/schemas/PayablePaymentTermFinal'
      additionalProperties: false
      type: object
      required:
        - name
        - term_final
    PayableResponseSchema:
      properties:
        id:
          type: string
          format: uuid
          description: A unique ID assigned to this payable.
        created_at:
          type: string
          format: date-time
          description: UTC date and time when this payable was created. Timestamps follow the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        updated_at:
          type: string
          format: date-time
          description: UTC date and time when this payable was last updated. Timestamps follow the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        amount_due:
          type: integer
          description: How much is left to be paid on the invoice (in minor units).
          example: 1000
        amount_paid:
          type: integer
          description: How much was paid on the invoice (in minor units).
          example: 1000
        amount_to_pay:
          type: integer
          description: How much is left to be paid on the invoice (in minor units) with discounts from payment terms.
          example: 1000
        approval_policy_id:
          type: string
          format: uuid
          description: Id of existing approval policy that applies to this payable, if any. A policy is applied if the payable matches the policy trigger conditions.
        counterpart:
          allOf:
            - $ref: '#/components/schemas/CounterpartRawData'
          description: Object representing de-normalized counterpart data. Filled at the moment of invoice submitting for approval or payment.
        counterpart_address_id:
          type: string
          format: uuid
          description: The ID of counterpart address object stored in counterparts service
        counterpart_bank_account_id:
          type: string
          format: uuid
          description: The ID of counterpart bank account object stored in counterparts service
        counterpart_id:
          type: string
          format: uuid
          description: The ID of the counterpart object that represents the vendor or supplier.
        counterpart_raw_data:
          allOf:
            - $ref: '#/components/schemas/CounterpartRawData'
          description: Object representing counterpart data which was extracted by OCR. Used for informational purposes.
        counterpart_vat_id_id:
          type: string
          format: uuid
          description: The ID of counterpart VAT ID object stored in counterparts service
        created_by_role_id:
          type: string
          format: uuid
          description: The ID of the role that the entity user who created this payable had at that time. If the payable was created using a partner access token, the value is `null`.
        credit_notes:
          items:
            $ref: '#/components/schemas/PayableCreditNoteData'
          type: array
          description: The list of linked credit notes of the payable.
        currency:
          allOf:
            - $ref: '#/components/schemas/CurrencyEnum'
          description: The [currency code](https://docs.monite.com/references/currencies) of the currency used in the payable.
          example: EUR
        currency_exchange:
          $ref: '#/components/schemas/CurrencyExchangeSchema2'
        description:
          type: string
          description: An arbitrary description of this payable.
        discount:
          type: integer
          description: The value of the additional discount that will be applied to the total amount. in [minor units](https://docs.monite.com/references/currencies#minor-units). For example, $12.50 is represented as 1250.
          example: 500
        document_id:
          type: string
          description: A unique invoice number assigned by the invoice issuer for payment tracking purposes. This is different from `id` which is an internal ID created automatically by Monite.
          example: DE2287
        due_date:
          type: string
          format: date
          description: The date by which the payable must be paid, in the YYYY-MM-DD format. If the payable specifies payment terms with early payment discounts, this is the final payment date.
        einvoice_file_url:
          type: string
          description: The URL to download the original e-invoice file.
          example: https://bucketname.s3.amazonaws.com/12345/67890.xml
        enforce_approval_policy_id:
          type: string
          format: uuid
          description: Id of an existing approval policy that should be enforced when submitting the payable for approval.If this field is set, no other policies will be evaluated via their triggers - the specified policy will always be applied instead.
        entity_id:
          type: string
          format: uuid
          description: The ID of the entity to which the payable was issued.
        file:
          allOf:
            - $ref: '#/components/schemas/FileSchema'
          description: The original file from which this payable was created.
        file_id:
          type: string
          format: uuid
          description: File id to retrieve file info from file saver.
        issued_at:
          type: string
          format: date
          description: The date when the payable was issued, in the YYYY-MM-DD format.
        marked_as_paid_by_entity_user_id:
          type: string
          format: uuid
          description: The ID of the entity user who marked this document as paid.
          example: 71e8875a-43b3-434f-b12a-54c84c176ef3
        marked_as_paid_with_comment:
          type: string
          description: An arbitrary comment that describes how and when this payable was paid.
          example: Was paid partly in the end of the month.
        ocr_request_id:
          type: string
          format: uuid
          description: Id of OCR request to match asynchronous result of processing payable.
        ocr_status:
          allOf:
            - $ref: '#/components/schemas/OcrStatusEnum'
          description: The status of the data recognition process using OCR. The 'processing' status means that the data recognition is in progress and the user needs to wait for the data enrichment. The 'error' status indicates that some error occurred on the OCR side and the user can fill in the data manually. The 'success' status means the data recognition has been successfully completed, after which the user can check the data if desired and enrich or correct it.
        other_extracted_data:
          anyOf:
            - $ref: '#/components/schemas/OCRResponseInvoiceReceiptData'
            - $ref: '#/components/schemas/OcrRecognitionResponse'
          description: Data extracted from the uploaded payable by OCR.
        paid_at:
          type: string
          format: date-time
          description: The date by which the payable was paid
        partner_metadata:
          type: object
          description: Metadata for partner needs
        payable_origin:
          allOf:
            - $ref: '#/components/schemas/PayableOriginEnum'
          description: 'Specifies how this payable was created in Monite: `upload` - created via an API call, `email` - sent via email to the entity''s mailbox.'
        payment_terms:
          allOf:
            - $ref: '#/components/schemas/PayablePaymentTermsCreatePayload'
          description: The number of days to pay with potential discount for options shorter than due_date
        project_id:
          type: string
          format: uuid
          description: Project ID of a payable.
        purchase_order_id:
          type: string
          format: uuid
          description: The identifier of the purchase order to which this payable belongs.
        sender:
          type: string
          format: email
          description: The email address from which the invoice was sent to the entity.
          example: hello@example.com
        source_of_payable_data:
          allOf:
            - $ref: '#/components/schemas/SourceOfPayableDataEnum'
          description: 'Specifies how the property values of this payable were provided: `ocr` - Monite OCR service extracted the values from the provided PDF or image file, `user_specified` - values were added or updated via an API call.'
        status:
          allOf:
            - $ref: '#/components/schemas/PayableStateEnum'
          description: The [status](https://docs.monite.com/accounts-payable/payables/index) of the payable.
        subtotal:
          type: integer
          description: The subtotal amount to be paid, in [minor units](https://docs.monite.com/references/currencies#minor-units). For example, $12.50 is represented as 1250.
          example: 1250
        suggested_payment_term:
          allOf:
            - $ref: '#/components/schemas/SuggestedPaymentTerm'
          description: The suggested date and corresponding discount in which payable could be paid. The date is in the YYYY-MM-DD format. The discount is calculated as X * (10^-4) - for example, 100 is 1%, 25 is 0,25%, 10000 is 100 %. Date varies depending on the payment terms and may even be equal to the due date with discount 0.
        tags:
          items:
            $ref: '#/components/schemas/TagReadSchema'
          type: array
          description: A list of user-defined tags (labels) assigned to this payable. Tags can be used to trigger a specific approval policy for this payable.
        tax:
          type: integer
          description: Registered tax percentage applied for a service price in minor units, e.g. 200 means 2%, 1050 means 10.5%.
          example: 2000
        tax_amount:
          type: integer
          description: Tax amount in [minor units](https://docs.monite.com/references/currencies#minor-units). For example, $12.50 is represented as 1250.
          example: 250
        total_amount:
          type: integer
          description: The total amount to be paid, in [minor units](https://docs.monite.com/references/currencies#minor-units). For example, $12.50 is represented as 1250.
          example: 1500
        total_amount_with_credit_notes:
          type: integer
          description: The total price of the payable in [minor units](https://docs.monite.com/references/currencies#minor-units), excluding all issued credit notes.
        was_created_by_user_id:
          type: string
          format: uuid
      type: object
      required:
        - id
        - created_at
        - updated_at
        - credit_notes
        - entity_id
        - payable_origin
        - source_of_payable_data
        - status
      description: Represents an Accounts Payable document received from a vendor or supplier.
    PayableSchema-Input:
      properties:
        actions:
          items:
            $ref: '#/components/schemas/PayableActionSchema'
          type: array
          description: List of actions
        object_type:
          type: string
          const: payable
          description: Object type
          default: payable
      additionalProperties: false
      type: object
    PayableSchema-Output:
      properties:
        actions:
          items:
            $ref: '#/components/schemas/PayableActionSchema'
          type: array
          description: List of actions
        object_type:
          type: string
          const: payable
          description: Object type
          default: payable
      additionalProperties: false
      type: object
    PayableSettings:
      properties:
        allow_cancel_duplicates_automatically:
          anyOf:
            - type: boolean
            - type: "null"
          default: false
          description: When enabled, Monite will automatically detect and cancel payables  identified as duplicates during ingestion—reducing manual review overhead.
        allow_counterpart_autocreation:
          anyOf:
            - type: boolean
            - type: "null"
          default: false
          description: Enables creation of a new counterpart record (supplier)  when incoming payable data doesn't match any existing counterpart.
        allow_counterpart_autolinking:
          anyOf:
            - type: boolean
            - type: "null"
          default: false
          description: Automatically links incoming payables to existing counterpart  records using matching logic (e.g., tax ID, IBAN, name/address).
        allow_credit_note_autolinking:
          anyOf:
            - type: boolean
            - type: "null"
          default: false
          description: If true, Monite will attempt to automatically attach credit notes  to the corresponding payables when processing them.
        approve_page_url:
          type: string
          minLength: 1
          format: uri
          examples:
            - https://monite.com
          description: The URL included in approval notification emails and UI buttons, directing approvers to complete the invoice approval workflow.   Useful for linking to your custom approval portal.
        default_state:
          anyOf:
            - type: string
            - type: "null"
          description: The initial status assigned to newly created payables  (e.g., `draft`, `new`). Determines whether they require approval or review.
          examples:
            - new
        enable_line_items:
          type: boolean
          description: Partners can set this to True or False to control line item detection in OCR flows.
          default: true
        skip_approval_for_paid_invoice:
          anyOf:
            - type: boolean
            - type: "null"
          default: false
          description: When set to true, payables that are already marked as paid  bypass the approval workflow entirely.
      type: object
      required:
        - approve_page_url
    PayableStateEnum:
      type: string
      enum:
        - draft
        - new
        - approve_in_progress
        - waiting_to_be_paid
        - partially_paid
        - paid
        - canceled
        - rejected
    PayableStatusChangedEventData:
      properties:
        new_status:
          $ref: '#/components/schemas/PayableStateEnum'
        old_status:
          $ref: '#/components/schemas/PayableStateEnum'
      additionalProperties: false
      type: object
      required:
        - new_status
        - old_status
    PayableTemplatesVariable:
      properties:
        description:
          type: string
        name:
          type: string
      additionalProperties: false
      type: object
      required:
        - description
        - name
    PayableTemplatesVariablesObject:
      properties:
        object_subtype:
          $ref: '#/components/schemas/PayablesVariableType'
        object_type:
          $ref: '#/components/schemas/ObjectType'
        variables:
          items:
            $ref: '#/components/schemas/PayableTemplatesVariable'
          type: array
      additionalProperties: false
      type: object
      required:
        - object_subtype
        - object_type
        - variables
    PayableTemplatesVariablesObjectList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/PayableTemplatesVariablesObject'
          type: array
      additionalProperties: false
      type: object
      required:
        - data
    PayableUpdateSchema:
      properties:
        amount_paid:
          type: integer
          minimum: 0
          description: How much was paid on the invoice (in minor units).
        counterpart_address_id:
          type: string
          format: uuid
          description: The ID of counterpart address object stored in counterparts service
        counterpart_bank_account_id:
          type: string
          format: uuid
          description: The ID of counterpart bank account object stored in counterparts service
        counterpart_id:
          type: string
          format: uuid
          description: The ID of the counterpart object that represents the vendor or supplier.
        counterpart_raw_data:
          allOf:
            - $ref: '#/components/schemas/CounterpartRawDataUpdateRequest'
          description: Allows to fix some data in counterpart recognised fields to correct them in order to make autolinking happen.
        counterpart_vat_id_id:
          type: string
          format: uuid
          description: The ID of counterpart VAT ID object stored in counterparts service
        currency:
          allOf:
            - $ref: '#/components/schemas/CurrencyEnum'
          description: The [currency code](https://docs.monite.com/references/currencies) of the currency used in the payable.
          example: EUR
        description:
          type: string
          maxLength: 255
          description: An arbitrary description of this payable.
        discount:
          type: integer
          description: The value of the additional discount that will be applied to the total amount. in [minor units](https://docs.monite.com/references/currencies#minor-units). For example, $12.50 is represented as 1250.
          example: 500
        document_id:
          type: string
          description: A unique invoice number assigned by the invoice issuer for payment tracking purposes.
          example: DE2287
        due_date:
          type: string
          format: date
          description: The date by which the payable must be paid, in the YYYY-MM-DD format. If the payable specifies payment terms with early payment discounts, this is the final payment date.
        enforce_approval_policy_id:
          type: string
          format: uuid
          description: Id of an existing approval policy that should be enforced when submitting the payable for approval.If this field is set, no other policies will be evaluated via their triggers - the specified policy will always be applied instead.
        issued_at:
          type: string
          format: date
          description: The date when the payable was issued, in the YYYY-MM-DD format.
        partner_metadata:
          type: object
          description: Metadata for partner needs
        payment_terms:
          allOf:
            - $ref: '#/components/schemas/PayablePaymentTermsCreatePayload'
          description: The number of days to pay with potential discount for options shorter than due_date
        project_id:
          type: string
          format: uuid
          description: The project ID of the payable.
        purchase_order_id:
          type: string
          format: uuid
          description: The identifier of the purchase order to which this payable belongs.
        sender:
          type: string
          format: email
          description: The email address from which the invoice was sent to the entity.
          example: hello@example.com
        subtotal:
          type: integer
          description: The subtotal amount to be paid, in [minor units](https://docs.monite.com/references/currencies#minor-units). For example, $12.50 is represented as 1250.
          example: 1250
        suggested_payment_term:
          allOf:
            - $ref: '#/components/schemas/SuggestedPaymentTerm'
          description: The suggested date and corresponding discount in which payable could be paid. The date is in the YYYY-MM-DD format. The discount is calculated as X * (10^-4) - for example, 100 is 1%, 25 is 0,25%, 10000 is 100 %. Date varies depending on the payment terms and may even be equal to the due date with discount 0.
        tag_ids:
          items:
            type: string
            format: uuid
          type: array
          description: A list of IDs of user-defined tags (labels) assigned to this payable. Tags can be used to trigger a specific approval policy for this payable.
        tax:
          type: integer
          description: Registered tax percentage applied for a service price in minor units, e.g. 200 means 2%, 1050 means 10.5%.
          example: 2000
        tax_amount:
          type: integer
          description: Tax amount in [minor units](https://docs.monite.com/references/currencies#minor-units). For example, $12.50 is represented as 1250.
          example: 250
        total_amount:
          type: integer
          description: The total amount to be paid, in [minor units](https://docs.monite.com/references/currencies#minor-units). For example, $12.50 is represented as 1250.
          example: 15000
      additionalProperties: false
      type: object
      description: This schema is used to update the data of an existing payable.
    PayableUpdatedEventData:
      properties: {}
      additionalProperties: false
      type: object
    PayableUploadFile:
      properties:
        file:
          type: string
          format: binary
      type: object
      required:
        - file
    PayableUploadWithDataSchema:
      properties:
        base64_encoded_file:
          type: string
          description: |-
            Base64-encoded contents of the original issued payable. The file is provided for reference purposes as the original source of the data.

             Any file formats are allowed. The most common formats are PDF, PNG, JPEG, TIFF.
        counterpart_address_id:
          type: string
          format: uuid
          description: The ID of counterpart address object stored in counterparts service
        counterpart_bank_account_id:
          type: string
          format: uuid
          description: The ID of counterpart bank account object stored in counterparts service
        counterpart_id:
          type: string
          format: uuid
          description: The ID of the counterpart object that represents the vendor or supplier.
        counterpart_vat_id_id:
          type: string
          format: uuid
          description: The ID of counterpart VAT ID object stored in counterparts service
        currency:
          allOf:
            - $ref: '#/components/schemas/CurrencyEnum'
          description: The [currency code](https://docs.monite.com/references/currencies) of the currency used in the payable.
          example: EUR
        description:
          type: string
          maxLength: 255
          description: An arbitrary description of this payable.
        discount:
          type: integer
          description: The value of the additional discount that will be applied to the total amount. in [minor units](https://docs.monite.com/references/currencies#minor-units). For example, $12.50 is represented as 1250.
          example: 500
        document_id:
          type: string
          description: A unique invoice number assigned by the invoice issuer for payment tracking purposes.
          example: DE2287
        due_date:
          type: string
          format: date
          description: The date by which the payable must be paid, in the YYYY-MM-DD format. If the payable specifies payment terms with early payment discounts, this is the final payment date.
        enforce_approval_policy_id:
          type: string
          format: uuid
          description: Id of an existing approval policy that should be enforced when submitting the payable for approval.If this field is set, no other policies will be evaluated via their triggers - the specified policy will always be applied instead.
        file_name:
          type: string
          maxLength: 512
          description: The original file name.
          example: invoice.pdf
        issued_at:
          type: string
          format: date
          description: The date when the payable was issued, in the YYYY-MM-DD format.
        partner_metadata:
          type: object
          description: Metadata for partner needs
        payment_terms:
          allOf:
            - $ref: '#/components/schemas/PayablePaymentTermsCreatePayload'
          description: The number of days to pay with potential discount for options shorter than due_date
        project_id:
          type: string
          format: uuid
          description: The ID of a project
        purchase_order_id:
          type: string
          format: uuid
          description: The identifier of the purchase order to which this payable belongs.
        sender:
          type: string
          format: email
          description: The email address from which the invoice was sent to the entity.
          example: hello@example.com
        subtotal:
          type: integer
          description: The subtotal amount to be paid, in [minor units](https://docs.monite.com/references/currencies#minor-units). For example, $12.50 is represented as 1250.
          example: 1250
        suggested_payment_term:
          allOf:
            - $ref: '#/components/schemas/SuggestedPaymentTerm'
          description: The suggested date and corresponding discount in which payable could be paid. The date is in the YYYY-MM-DD format. The discount is calculated as X * (10^-4) - for example, 100 is 1%, 25 is 0,25%, 10000 is 100 %. Date varies depending on the payment terms and may even be equal to the due date with discount 0.
        tag_ids:
          items:
            type: string
            format: uuid
          type: array
          description: A list of IDs of user-defined tags (labels) assigned to this payable. Tags can be used to trigger a specific approval policy for this payable.
        tax:
          type: integer
          description: Registered tax percentage applied for a service price in minor units, e.g. 200 means 2%. 1050 means 10.5%.
          example: 2000
        tax_amount:
          type: integer
          description: Tax amount in [minor units](https://docs.monite.com/references/currencies#minor-units). For example, $12.50 is represented as 1250.
          example: 250
        total_amount:
          type: integer
          description: The total amount to be paid, in [minor units](https://docs.monite.com/references/currencies#minor-units). For example, $12.50 is represented as 1250.
          example: 15000
      additionalProperties: false
      type: object
      description: This schema is used to create a new payable by providing its data along with the original file.
    PayableValidationResponse:
      properties:
        id:
          type: string
          format: uuid
          description: A unique ID assigned to this payable.
        validation_errors:
          items:
            type: object
          type: array
      type: object
      required:
        - id
    PayableValidationsResource:
      properties:
        required_fields:
          items:
            $ref: '#/components/schemas/PayablesFieldsAllowedForValidate'
          type: array
      type: object
      required:
        - required_fields
    PayableValidationsUpdateRequest:
      properties:
        required_fields:
          items:
            $ref: '#/components/schemas/PayablesFieldsAllowedForValidate'
          type: array
      additionalProperties: false
      type: object
      required:
        - required_fields
    PayablesFieldsAllowedForValidate:
      type: string
      enum:
        - currency
        - document_id
        - due_date
        - issued_at
        - tax_amount
        - total_amount
        - subtotal
        - description
        - suggested_payment_term
        - payment_terms
        - tax
        - sender
        - file_id
        - counterpart_id
        - counterpart_bank_account_id
        - counterpart_address_id
        - counterpart_vat_id_id
        - line_items
        - line_items.quantity
        - line_items.unit_price
        - line_items.tax
        - line_items.ledger_account_id
        - line_items.accounting_tax_rate_id
        - line_items.unit
        - line_items.name
        - line_items.description
        - line_items.subtotal
        - line_items.total
        - line_items.tax_amount
    PayablesVariableType:
      type: string
      enum:
        - payables_purchase_order
        - payables_notify_approver
    PayerAccountResponse:
      properties:
        id:
          type: string
          format: uuid
          description: ID of the entity or counterpart.
        bank_accounts:
          items:
            $ref: '#/components/schemas/BankAccount'
          type: array
          description: List of bank accounts
        name:
          type: string
          description: The name of the specified entity or counterpart. For individuals, the name is formatted as `first_name last_name`.
        type:
          allOf:
            - $ref: '#/components/schemas/PaymentAccountType'
          description: Indicates whether the payer is an entity or a counterpart.
      type: object
      required:
        - id
        - type
    PaymentAccountObject:
      properties:
        id:
          type: string
          format: uuid
          description: ID of the entity or counterpart that issued the invoice for which you are creating a payment link.
        type:
          allOf:
            - $ref: '#/components/schemas/PaymentAccountType'
      type: object
      required:
        - id
        - type
    PaymentAccountType:
      type: string
      enum:
        - entity
        - counterpart
    PaymentIntent:
      properties:
        id:
          type: string
          format: uuid
        updated_at:
          type: string
          format: date-time
        application_fee_amount:
          type: integer
        object:
          $ref: '#/components/schemas/PaymentObject'
        provider:
          type: string
        selected_payment_method:
          type: string
        status:
          type: string
      type: object
      required:
        - id
        - updated_at
        - status
    PaymentIntentCursorFields:
      type: string
      enum:
        - id
        - created_at
    PaymentIntentHistory:
      properties:
        id:
          type: string
          format: uuid
          description: Unused.
        created_at:
          type: string
          format: date-time
          description: UTC date and time when the payment intent moved to a new status.
        updated_at:
          type: string
          format: date-time
          description: Same as `created_at`.
        payment_intent_id:
          type: string
          format: uuid
          description: ID of the payment intent.
        status:
          type: string
          description: The new [status](https://docs.monite.com/payments/payment-intents#lifecycle) of the payment intent.
          examples:
            - created
      additionalProperties: false
      type: object
      required:
        - id
        - created_at
        - updated_at
        - payment_intent_id
        - status
    PaymentIntentHistoryResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/PaymentIntentHistory'
          type: array
          description: A list of status changes and their timestamps.
      additionalProperties: false
      type: object
      required:
        - data
    PaymentIntentResponse:
      properties:
        id:
          type: string
          format: uuid
          description: A unique ID of this payment intent.
        updated_at:
          type: string
          format: date-time
          description: UTC date and time when this payment intent was last updated.
        amount:
          type: integer
          description: The payment amount in [minor units](https://docs.monite.com/references/currencies#minor-units).
          examples:
            - 125000
        application_fee_amount:
          type: integer
        batch_payment_id:
          type: string
          format: uuid
          description: Reserved for internal use.
        currency:
          type: string
          description: The payment currency, as a three-letter ISO [currency code](https://docs.monite.com/references/currencies).
          examples:
            - EUR
        invoice:
          $ref: '#/components/schemas/Invoice'
        object:
          $ref: '#/components/schemas/PaymentObject'
          description: If the payment link was created for a payable or receivable invoice stored in Monite (rather than an external invoice or a one-off payment), this object contains the ID of that payable or receivable.
        payer:
          $ref: '#/components/schemas/PayerAccountResponse'
        payment_link_id:
          type: string
          format: uuid
          description: ID of the [payment link](https://docs.monite.com/payments/payment-links) associated with this payment intent. The payment link object contains the URL of the payment page.
        payment_methods:
          items:
            $ref: '#/components/schemas/MoniteAllPaymentMethodsTypes'
          type: array
          descirption: |-
            The list of [payment methods](https://docs.monite.com/payments/payment-methods#codes) offered to the payer on the payment page. This list is configured by the API client during payment link creation.

            After the payment is initiated, the actual payment method used by the payer is stored in the `selected_payment_method` field.
          examples:
            - - sepa_credit
              - card
        payment_reference:
          type: string
          description: |-
            The payment reference. If not provided explicitly by the client, Monite uses the invoice number (`document_id`) as the payment reference.

            **Note:** Monite [normalizes](https://docs.monite.com/payments/payment-references) payment references for certain types of payments when passing information to the payment processing provider.
          examples:
            - PRJ/2025/0045
        provider:
          type: string
          description: Reserved for internal use.
        recipient:
          $ref: '#/components/schemas/RecipientAccountResponse'
          description: The payment recipient - either the current entity (in case of accounts receivable invoice payments) or a counterpart (in case of accounts payable bill payments).
        selected_payment_method:
          $ref: '#/components/schemas/MoniteAllPaymentMethodsTypes'
          description: The payment method selected by the payer on the payment page, or `null` if the payment has not been initiated.
        status:
          type: string
          description: The [status](https://docs.monite.com/payments/payment-intents#lifecycle) of the payment intent.
      type: object
      required:
        - id
        - updated_at
        - amount
        - currency
        - payment_methods
        - recipient
        - status
    PaymentIntentsListResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/PaymentIntentResponse'
          type: array
          description: A list of payment intents.
        next_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the next page of results, or `null` if there is no next page (i.e. you've reached the last page).
        prev_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the previous page of results, or `null` if there is no previous page (i.e. you've reached the first page).
      additionalProperties: false
      type: object
      required:
        - data
    PaymentMethod:
      properties:
        direction:
          $ref: '#/components/schemas/PaymentMethodDirection'
        name:
          $ref: '#/components/schemas/MoniteAllPaymentMethods'
          description: The display name of the payment method.
        status:
          $ref: '#/components/schemas/PaymentMethodStatus'
          description: |-
            `active` payment methods can be used immediately.

            `inactive` status means that the entity must complete the [onboarding process](https://docs.monite.com/payments/onboarding/index) before it can use this payment method.
        type:
          $ref: '#/components/schemas/MoniteAllPaymentMethodsTypes'
          description: The payment method code. These codes are used, for example, to specify the payment methods when creating [payment links](https://docs.monite.com/docs/payment-links).
      additionalProperties: false
      type: object
      required:
        - direction
        - name
        - status
        - type
    PaymentMethodDirection:
      type: string
      enum:
        - receive
        - send
    PaymentMethodRequirements:
      properties:
        current_deadline:
          type: string
          format: date-time
        currently_due:
          items:
            type: string
          type: array
        eventually_due:
          items:
            type: string
          type: array
        past_due:
          items:
            type: string
          type: array
        pending_verification:
          items:
            type: string
          type: array
      additionalProperties: false
      type: object
      required:
        - currently_due
        - eventually_due
        - past_due
        - pending_verification
    PaymentMethodStatus:
      type: string
      enum:
        - active
        - inactive
    PaymentObject:
      properties:
        id:
          type: string
          format: uuid
        type:
          $ref: '#/components/schemas/PaymentObjectType'
      additionalProperties: false
      type: object
      required:
        - id
        - type
    PaymentObjectType:
      type: string
      enum:
        - payable
        - receivable
    PaymentPageTheme:
      properties:
        background_color:
          anyOf:
            - type: string
              format: color
            - type: "null"
        border_radius:
          anyOf:
            - type: string
            - type: "null"
        button:
          anyOf:
            - $ref: '#/components/schemas/ButtonTheme'
            - type: "null"
        card:
          anyOf:
            - $ref: '#/components/schemas/CardTheme'
            - type: "null"
        font_color:
          anyOf:
            - type: string
              format: color
            - type: "null"
        font_family:
          anyOf:
            - type: string
            - type: "null"
        font_link_href:
          anyOf:
            - type: string
              maxLength: 2083
              minLength: 1
              format: uri
            - type: "null"
        logo_src:
          anyOf:
            - type: string
              maxLength: 2083
              minLength: 1
              format: uri
            - type: "null"
      type: object
    PaymentPriorityEnum:
      type: string
      enum:
        - working_capital
        - balanced
        - bottom_line
    PaymentReceivedEventData:
      properties:
        amount_due:
          type: integer
          description: The remaining amount due of the invoice, in [minor units](https://docs.monite.com/references/currencies#minor-units) of the currency. For example, $12.5 is represented as 1250.
          examples:
            - 0
        amount_paid:
          type: integer
          description: The payment amount, in minor units of the currency.
          examples:
            - 1250
        comment:
          type: string
          description: A user-defined comment about this payment, or `null` if no comment was provided. Comments are available only for payments recorded via `POST /receivables/{receivable_id}/mark_as_paid` and `POST /receivables/{receivable_id}/mark_as_partially_paid`.
      additionalProperties: false
      type: object
      required:
        - amount_due
        - amount_paid
      description: Contains information about a payment received for an invoice.
    PaymentRecordCursorFields:
      type: string
      enum:
        - paid_at
        - amount
        - overpaid_amount
    PaymentRecordHistoryResponse:
      properties:
        entity_user_id:
          type: string
          format: uuid
        status:
          $ref: '#/components/schemas/PaymentRecordStatusEnum'
        timestamp:
          type: string
          format: date-time
          description: Timestamp of the change in a history
      type: object
      required:
        - status
        - timestamp
    PaymentRecordMarkAsSucceededRequest:
      properties:
        paid_at:
          type: string
          format: date-time
          description: Timestamp marking when the payment was executed.
        payment_intent_status:
          type: string
          description: Raw status string of the external payment intent.
      additionalProperties: false
      type: object
      required:
        - paid_at
    PaymentRecordObjectRequest:
      properties:
        id:
          type: string
          format: uuid
          description: ID of the invoice
        type:
          $ref: '#/components/schemas/ObjectTypeEnum'
      additionalProperties: false
      type: object
      required:
        - id
        - type
    PaymentRecordObjectResponse:
      properties:
        id:
          type: string
          format: uuid
          description: ID of the invoice
        new_status:
          type: string
          description: Status, in which object has been moved
        old_status:
          type: string
          description: Status, in which object was before payment
        type:
          $ref: '#/components/schemas/ObjectTypeEnum'
      additionalProperties: false
      type: object
      required:
        - id
        - new_status
        - old_status
        - type
    PaymentRecordRequest:
      properties:
        amount:
          type: integer
          description: Positive amount in case of successful payment, negative amount in case of payment failure or refund, represented in minor currency units (e.g., cents).
        currency:
          allOf:
            - $ref: '#/components/schemas/CurrencyEnum'
          description: Currency code (ISO 4217) indicating the currency in which the payment was made.
        entity_user_id:
          type: string
          format: uuid
          description: ID of the user associated with the payment, if applicable.
        object:
          allOf:
            - $ref: '#/components/schemas/PaymentRecordObjectRequest'
          description: Reference object linked to this payment record, indicating the type (receivable or payable) and its identifier.
        paid_at:
          type: string
          format: date-time
          description: Timestamp marking when the payment was executed. Null if payment hasn't occurred yet.
        payment_intent_id:
          type: string
          format: uuid
          description: Identifier for an payment intent.
        payment_intent_status:
          type: string
          description: Raw status string of the external payment intent.
        payment_method:
          type: string
          description: Payment method used or planned for the transaction.
        planned_payment_date:
          type: string
          format: date
          description: Scheduled date for future payments, required when the payment is planned but not yet executed.
        status:
          type: string
          enum:
            - created
            - processing
            - succeeded
          description: Status of the payment record indicating its current stage (e.g., created, processing, succeeded).
          default: succeeded
      additionalProperties: false
      type: object
      required:
        - amount
        - currency
        - object
    PaymentRecordResponse:
      properties:
        id:
          type: string
          format: uuid
        amount:
          type: integer
          description: Positive amount in case of successful payment, negative amount in case of payment failure or refund, represented in minor currency units (e.g., cents).
        currency:
          allOf:
            - $ref: '#/components/schemas/CurrencyEnum'
          description: Currency code (ISO 4217) indicating the currency in which the payment was made.
        entity_user_id:
          type: string
          format: uuid
          description: ID of the user associated with the payment, if applicable.
        history:
          items:
            $ref: '#/components/schemas/PaymentRecordHistoryResponse'
          type: array
          description: History of the payment record.
        is_external:
          type: boolean
        object:
          $ref: '#/components/schemas/PaymentRecordObjectResponse'
        overpaid_amount:
          type: integer
          minimum: 0
          description: Filled in a case, if payment amount is more, than total_amount
          default: 0
        paid_at:
          type: string
          format: date-time
          description: Timestamp marking when the payment was executed. Null if payment hasn't occurred yet.
        payment_intent_id:
          type: string
          format: uuid
          description: Identifier for an payment intent.
        payment_intent_status:
          type: string
          description: Raw status string of the external payment intent.
        payment_method:
          type: string
          description: Payment method used or planned for the transaction.
        planned_payment_date:
          type: string
          format: date
          description: Scheduled date for future payments, required when the payment is planned but not yet executed.
        status:
          type: string
          description: 'The current status of the payment record. Possible values: `created`, `processing`, `succeeded`, `canceled`.'
          default: succeeded
      type: object
      required:
        - id
        - amount
        - currency
        - history
        - is_external
        - object
    PaymentRecordResponseList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/PaymentRecordResponse'
          type: array
        next_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the next page of results, or `null` if there is no next page (i.e. you've reached the last page).
        prev_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the previous page of results, or `null` if there is no previous page (i.e. you've reached the first page).
      additionalProperties: false
      type: object
      required:
        - data
    PaymentRecordStatusEnum:
      type: string
      enum:
        - created
        - processing
        - succeeded
        - canceled
    PaymentRecordStatusUpdateRequest:
      properties:
        payment_intent_status:
          type: string
          description: Raw status string of the external payment intent.
      additionalProperties: false
      type: object
    PaymentRecordUpdateRequest:
      properties:
        amount:
          type: integer
          description: Positive amount in case of successful payment, negative amount in case of payment failure or refund, represented in minor currency units (e.g., cents).
        currency:
          allOf:
            - $ref: '#/components/schemas/CurrencyEnum'
          description: Currency code (ISO 4217) indicating the currency in which the payment was made.
        entity_user_id:
          type: string
          format: uuid
          description: ID of the user associated with the payment, if applicable.
        object:
          allOf:
            - $ref: '#/components/schemas/PaymentRecordObjectRequest'
          description: Reference object linked to this payment record, indicating the type (receivable or payable) and its identifier.
        paid_at:
          type: string
          format: date-time
          description: Timestamp marking when the payment was executed. Null if payment hasn't occurred yet.
        payment_intent_id:
          type: string
          format: uuid
          description: Identifier for an payment intent.
        payment_intent_status:
          type: string
          description: Raw status string of the external payment intent.
        payment_method:
          type: string
          description: Payment method used or planned for the transaction.
        planned_payment_date:
          type: string
          format: date
          description: Scheduled date for future payments, required when the payment is planned but not yet executed.
      additionalProperties: false
      type: object
    PaymentReminder:
      properties:
        name:
          type: string
          maxLength: 255
          minLength: 1
        recipients:
          $ref: '#/components/schemas/Recipients'
        term_1_reminder:
          allOf:
            - $ref: '#/components/schemas/Reminder'
          description: Reminder to send for first payment term
        term_2_reminder:
          allOf:
            - $ref: '#/components/schemas/Reminder'
          description: Reminder to send for second payment term
        term_final_reminder:
          allOf:
            - $ref: '#/components/schemas/Reminder'
          description: Reminder to send for final payment term
      additionalProperties: false
      type: object
      required:
        - name
    PaymentReminderResponse:
      properties:
        id:
          type: string
          format: uuid
        created_at:
          type: string
          format: date-time
          description: Time at which the PaymentReminder was created. Timestamps follow the ISO 8601 standard.
        updated_at:
          type: string
          format: date-time
          description: Time at which the PaymentReminder was last updated. Timestamps follow the ISO 8601 standard.
        entity_id:
          type: string
          format: uuid
        name:
          type: string
        recipients:
          $ref: '#/components/schemas/Recipients'
        status:
          $ref: '#/components/schemas/StatusEnum'
        term_1_reminder:
          allOf:
            - $ref: '#/components/schemas/Reminder'
          description: Reminder to send for first payment term
        term_2_reminder:
          allOf:
            - $ref: '#/components/schemas/Reminder'
          description: Reminder to send for second payment term
        term_final_reminder:
          allOf:
            - $ref: '#/components/schemas/Reminder'
          description: Reminder to send for final payment term
      additionalProperties: false
      type: object
      required:
        - id
        - created_at
        - updated_at
        - entity_id
        - name
        - status
    PaymentReminderUpdateRequest:
      properties:
        name:
          type: string
          maxLength: 255
          minLength: 1
        recipients:
          $ref: '#/components/schemas/Recipients'
        term_1_reminder:
          allOf:
            - $ref: '#/components/schemas/Reminder'
          description: Reminder to send for first payment term
        term_2_reminder:
          allOf:
            - $ref: '#/components/schemas/Reminder'
          description: Reminder to send for second payment term
        term_final_reminder:
          allOf:
            - $ref: '#/components/schemas/Reminder'
          description: Reminder to send for final payment term
      additionalProperties: false
      type: object
    PaymentRequirements:
      properties:
        current_deadline:
          type: string
          format: date-time
        currently_due:
          items:
            type: string
          type: array
        eventually_due:
          items:
            type: string
          type: array
        pending_verification:
          items:
            type: string
          type: array
      additionalProperties: false
      type: object
      required:
        - currently_due
        - eventually_due
        - pending_verification
    PaymentTerms:
      properties:
        id:
          type: string
          format: uuid
        description:
          type: string
          description: Description of the payment term.
        name:
          type: string
        term_1:
          allOf:
            - $ref: '#/components/schemas/InlineTermDiscount'
          description: The first tier of the payment term. Represents the terms of the first early discount.
        term_2:
          allOf:
            - $ref: '#/components/schemas/InlineTermDiscount'
          description: The second tier of the payment term. Defines the terms of the second early discount.
        term_final:
          allOf:
            - $ref: '#/components/schemas/InlineTermFinal'
          description: The final tier of the payment term. Defines the invoice due date.
      type: object
      required:
        - term_final
    PaymentTermsCreatePayload:
      properties:
        description:
          type: string
          maxLength: 255
        name:
          type: string
          maxLength: 100
          minLength: 1
        term_1:
          allOf:
            - $ref: '#/components/schemas/TermDiscountDays'
          description: The first tier of the payment term. Represents the terms of the first early discount.
        term_2:
          allOf:
            - $ref: '#/components/schemas/TermDiscountDays'
          description: The second tier of the payment term. Defines the terms of the second early discount.
        term_final:
          allOf:
            - $ref: '#/components/schemas/TermFinalDays'
          description: The final tier of the payment term. Defines the invoice due date.
      additionalProperties: false
      type: object
      required:
        - name
        - term_final
    PaymentTermsListResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/PaymentTermsResponse'
          type: array
      additionalProperties: false
      type: object
    PaymentTermsResponse:
      properties:
        id:
          type: string
          format: uuid
        description:
          type: string
        name:
          type: string
        term_1:
          allOf:
            - $ref: '#/components/schemas/TermDiscountDays'
          description: The first tier of the payment term. Represents the terms of the first early discount.
        term_2:
          allOf:
            - $ref: '#/components/schemas/TermDiscountDays'
          description: The second tier of the payment term. Defines the terms of the second early discount.
        term_final:
          allOf:
            - $ref: '#/components/schemas/TermFinalDays'
          description: The final tier of the payment term. Defines the invoice due date.
      type: object
      required:
        - id
        - name
        - term_final
    PaymentTermsUpdatePayload:
      properties:
        description:
          type: string
          maxLength: 255
        name:
          type: string
          maxLength: 100
          minLength: 1
        term_1:
          allOf:
            - $ref: '#/components/schemas/TermDiscountDays'
          description: The first tier of the payment term. Represents the terms of the first early discount.
        term_2:
          allOf:
            - $ref: '#/components/schemas/TermDiscountDays'
          description: The second tier of the payment term. Defines the terms of the second early discount.
        term_final:
          allOf:
            - $ref: '#/components/schemas/TermFinalDays'
          description: The final tier of the payment term. Defines the invoice due date.
      additionalProperties: false
      type: object
    PaymentsSettings-Input:
      properties:
        payment_page_domain:
          anyOf:
            - type: string
            - type: "null"
        payment_page_theme:
          anyOf:
            - $ref: '#/components/schemas/PaymentPageTheme'
            - type: "null"
          description: See [Payment page customization](https://docs.monite.com/payments/payment-page-customization).
        support_email:
          anyOf:
            - type: string
              format: email
            - type: "null"
          description: Required if the partner has UK entities that want to accept Bacs Direct Debit payments. This email address will be included in Bacs debit notification emails sent to the payers, as the contact email address where the payers can send payments-related inquiries.
      type: object
    PaymentsSettings-Output:
      properties:
        payment_page_domain:
          anyOf:
            - type: string
            - type: "null"
        payment_page_theme:
          anyOf:
            - $ref: '#/components/schemas/PaymentPageTheme'
            - type: "null"
          description: See [Payment page customization](https://docs.monite.com/payments/payment-page-customization).
        support_email:
          anyOf:
            - type: string
              format: email
            - type: "null"
          description: Required if the partner has UK entities that want to accept Bacs Direct Debit payments. This email address will be included in Bacs debit notification emails sent to the payers, as the contact email address where the payers can send payments-related inquiries.
      type: object
    PdfDocumentTypeEnum:
      type: string
      enum:
        - receivable
        - delivery_note
        - purchase_order
        - payable
    PermissionEnum:
      type: string
      enum:
        - allowed
        - allowed_for_own
        - not_allowed
    PersonAddressRequest:
      properties:
        city:
          type: string
          maxLength: 100
          minLength: 1
          description: City, district, suburb, town, or village
        country:
          $ref: '#/components/schemas/AllowedCountries'
          description: Two-letter country code (ISO 3166-1 alpha-2)
          examples:
            - DE
        line1:
          type: string
          maxLength: 200
          minLength: 1
          description: Address line 1 (e.g., street, PO Box, or company name)
        line2:
          anyOf:
            - type: string
              maxLength: 100
              minLength: 1
            - type: "null"
          description: Address line 2 (e.g., apartment, suite, unit, or building)
        postal_code:
          type: string
          maxLength: 10
          minLength: 1
          description: ZIP or postal code
        state:
          anyOf:
            - type: string
              maxLength: 100
              minLength: 1
            - type: "null"
          description: State, county, province, or region
      additionalProperties: false
      type: object
      required:
        - city
        - country
        - line1
        - postal_code
    PersonAddressResponse:
      properties:
        city:
          type: string
          description: City, district, suburb, town, or village
        country:
          type: string
          description: Two-letter country code (ISO 3166-1 alpha-2)
        line1:
          type: string
          description: Address line 1 (e.g., street, PO Box, or company name)
        line2:
          anyOf:
            - type: string
            - type: "null"
          description: Address line 2 (e.g., apartment, suite, unit, or building)
        postal_code:
          type: string
          description: ZIP or postal code
        state:
          anyOf:
            - type: string
            - type: "null"
          description: State, county, province, or region
      additionalProperties: false
      type: object
      required:
        - city
        - country
        - line1
        - postal_code
    PersonOnboardingDocuments:
      properties:
        verification_document_front:
          type: string
          format: binary
        verification_document_back:
          type: string
          format: binary
        additional_verification_document_front:
          type: string
          format: binary
        additional_verification_document_back:
          type: string
          format: binary
      type: object
    PersonOnboardingDocumentsPayload:
      properties:
        additional_verification_document_back:
          type: string
          format: uuid
        additional_verification_document_front:
          type: string
          format: uuid
        verification_document_back:
          type: string
          format: uuid
        verification_document_front:
          type: string
          format: uuid
      additionalProperties: false
      type: object
    PersonRelationshipRequest:
      properties:
        director:
          type: boolean
          description: Whether the person is a director of the account's legal entity
          default: false
        executive:
          type: boolean
          description: Whether the person has significant responsibility to control, manage, or direct the organization
          default: false
        owner:
          type: boolean
          description: Whether the person is an owner of the account's legal entity
          default: false
        percent_ownership:
          anyOf:
            - type: number
              maximum: 100
              minimum: 0
            - type: "null"
          description: The percent owned by the person of the account's legal entity
        representative:
          type: boolean
          description: Whether the person is authorized as the primary representative of the account
          default: false
        title:
          anyOf:
            - type: string
              maxLength: 100
              minLength: 1
            - type: "null"
          description: The person's title (e.g., CEO, Support Engineer)
      additionalProperties: false
      type: object
    PersonRelationshipResponse:
      properties:
        director:
          type: boolean
          description: Whether the person is a director of the account's legal entity
          default: false
        executive:
          type: boolean
          description: Whether the person has significant responsibility to control, manage, or direct the organization
          default: false
        owner:
          type: boolean
          description: Whether the person is an owner of the account's legal entity
          default: false
        percent_ownership:
          anyOf:
            - type: number
              maximum: 100
              minimum: 0
            - type: "null"
          description: The percent owned by the person of the account's legal entity
        representative:
          type: boolean
          description: Whether the person is authorized as the primary representative of the account
          default: false
        title:
          anyOf:
            - type: string
            - type: "null"
          description: The person's title (e.g., CEO, Support Engineer)
      additionalProperties: false
      type: object
    PersonRequest:
      properties:
        address:
          anyOf:
            - $ref: '#/components/schemas/PersonAddressRequest'
            - type: "null"
          description: The person's address
        citizenship:
          anyOf:
            - $ref: '#/components/schemas/AllowedCountries'
            - type: "null"
          description: Required for persons of US entities. The country of the person's citizenship, as a two-letter country code (ISO 3166-1 alpha-2). In case of dual or multiple citizenship, specify any.
          examples:
            - DE
        date_of_birth:
          anyOf:
            - type: string
              format: date
            - type: "null"
          description: The person's date of birth
        email:
          type: string
          format: email
          description: The person's email address
        first_name:
          type: string
          maxLength: 100
          minLength: 1
          description: The person's first name
        id_number:
          anyOf:
            - type: string
              maxLength: 100
              minLength: 1
            - type: "null"
          description: The person's ID number, as appropriate for their country
        last_name:
          type: string
          maxLength: 100
          minLength: 1
          description: The person's last name
        phone:
          anyOf:
            - type: string
            - type: "null"
          description: The person's phone number
        relationship:
          $ref: '#/components/schemas/PersonRelationshipRequest'
          description: Describes the person's relationship to the entity
        ssn_last_4:
          anyOf:
            - type: string
              maxLength: 4
              minLength: 4
            - type: "null"
          description: The last four digits of the person's Social Security number
      additionalProperties: false
      type: object
      required:
        - email
        - first_name
        - last_name
        - relationship
    PersonResponse:
      properties:
        id:
          type: string
          format: uuid
          description: The person's unique identifier
        created_at:
          type: string
          format: date-time
          description: Time at which the person was created
        updated_at:
          type: string
          format: date-time
          description: Time at which the person was updated
        address:
          anyOf:
            - $ref: '#/components/schemas/PersonAddressResponse'
            - type: "null"
          description: The person's address
        citizenship:
          anyOf:
            - $ref: '#/components/schemas/AllowedCountries'
            - type: "null"
          description: Required for persons of US entities. The country of the person's citizenship, as a two-letter country code (ISO 3166-1 alpha-2). In case of dual or multiple citizenship, specify any.
          examples:
            - DE
        created_by_entity_user_id:
          anyOf:
            - type: string
              format: uuid
            - type: "null"
          description: ID of the entity user who created this person, or null if the person was created using a partner access token.
        date_of_birth:
          anyOf:
            - type: string
              format: date
            - type: "null"
          description: The person's date of birth
        email:
          type: string
          format: email
          description: The person's email address
        entity_id:
          type: string
          format: uuid
          description: Entity ID
        first_name:
          type: string
          description: The person's first name
        id_number:
          anyOf:
            - type: string
            - type: "null"
          description: The person's ID number, as appropriate for their country
        last_name:
          type: string
          description: The person's last name
        phone:
          anyOf:
            - type: string
            - type: "null"
          description: The person's phone number
        relationship:
          $ref: '#/components/schemas/PersonRelationshipResponse'
          description: Describes the person's relationship to the entity
        ssn_last_4:
          anyOf:
            - type: string
            - type: "null"
          description: The last four digits of the person's Social Security number
      type: object
      required:
        - id
        - created_at
        - updated_at
        - created_by_entity_user_id
        - email
        - entity_id
        - first_name
        - last_name
        - relationship
    PersonsResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/PersonResponse'
          type: array
          description: array of objects of type person
      additionalProperties: false
      type: object
      required:
        - data
    Platform:
      type: string
      enum:
        - xero
        - quickbooks
        - quickbooks_online
        - quickbooks_online_sandbox
    PreviewSchema:
      properties:
        height:
          type: integer
          description: The image height in pixels.
          examples:
            - 400
        url:
          type: string
          description: The image URL.
          examples:
            - https://bucketname.s3.amazonaws.com/1/2/3.png
        width:
          type: integer
          description: The image width in pixels.
          examples:
            - 200
      type: object
      required:
        - height
        - url
        - width
      description: A preview image generated for a file.
    PreviewSchema2:
      properties:
        height:
          type: integer
          description: The image height in pixels.
          example: 400
        url:
          type: string
          description: The image URL.
          example: https://bucketname.s3.amazonaws.com/1/2/3.png
        width:
          type: integer
          description: The image width in pixels.
          example: 200
      type: object
      required:
        - url
        - width
        - height
      description: A preview image generated for a file.
    PreviewSchema3:
      properties:
        height:
          type: integer
          description: The image height in pixels.
          example: 400
        url:
          type: string
          description: The image URL.
          example: https://bucketname.s3.amazonaws.com/1/2/3.png
        width:
          type: integer
          description: The image width in pixels.
          example: 200
      type: object
      required:
        - height
        - url
        - width
      description: A preview image generated for a file.
    PreviewTemplateRequest:
      properties:
        body:
          type: string
          description: Body text of the template
        document_type:
          allOf:
            - $ref: '#/components/schemas/DocumentObjectTypeRequestEnum'
          description: Document type of content
        language_code:
          allOf:
            - $ref: '#/components/schemas/LanguageCodeEnum'
          description: Lowercase ISO code of language
        subject:
          type: string
          description: Subject text of the template
      additionalProperties: false
      type: object
      required:
        - body
        - document_type
        - language_code
        - subject
    PreviewTemplateResponse:
      properties:
        body_preview:
          type: string
        subject_preview:
          type: string
      additionalProperties: false
      type: object
      required:
        - body_preview
        - subject_preview
    Price:
      properties:
        currency:
          allOf:
            - $ref: '#/components/schemas/CurrencyEnum'
          description: The currency in which the price of the product is set.
        value:
          type: integer
          maximum: 9007199254740991
          minimum: 0
          description: The actual price of the product.
      additionalProperties: false
      type: object
      required:
        - currency
        - value
    PricingPlan:
      properties:
        advance_rate_percentage:
          type: integer
          description: Advance rate percentage. 10000 means 100%
        fee_percentage:
          type: integer
          description: Transaction fee percentage. 300 means 3.00%
        repayment_duration_days:
          type: integer
          description: This amount of days after which the repayment duration is due. This is only applicable for FIXED_DURATION repayment type
        repayment_type:
          allOf:
            - $ref: '#/components/schemas/WCRepaymentType'
          description: Repayment type of the loan.
      type: object
      required:
        - advance_rate_percentage
        - fee_percentage
        - repayment_type
      description: A pricing plan of a financing offer
    ProcessResource:
      properties:
        id:
          type: string
          format: uuid
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        created_by:
          type: string
          format: uuid
        error:
          type: object
          description: The error for the process.
        input:
          type: object
          description: The input for the script.
        metadata:
          type: object
          description: The metadata for the process.
        script_snapshot:
          anyOf:
            - type: boolean
            - type: number
            - type: string
            - items: {}
              type: array
            - type: object
          description: The script snapshot taken when script started.
        status:
          allOf:
            - $ref: '#/components/schemas/ProcessStatusEnum'
          description: Tthe current status of the approval policy process.
        updated_by:
          type: string
          format: uuid
      type: object
      required:
        - id
        - created_at
        - input
        - metadata
        - status
    ProcessStatusEnum:
      type: string
      enum:
        - succeeded
        - waiting
        - failed
        - running
        - canceled
        - timed_out
    ProductCursorFields:
      type: string
      enum:
        - name
    ProductServicePaginationResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ProductServiceResponse'
          type: array
        next_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the next page of results, or `null` if there is no next page (i.e. you've reached the last page).
        prev_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the previous page of results, or `null` if there is no previous page (i.e. you've reached the first page).
      additionalProperties: false
      type: object
      required:
        - data
      description: A paginated list of products and services
    ProductServiceRequest:
      properties:
        description:
          type: string
          maxLength: 2000
          description: Description of the product.
        external_reference:
          type: string
          maxLength: 255
          minLength: 1
          description: A user-defined identifier of the product. For example, an internal product code or SKU (stock keeping unit). Client applications can use this field to map the products in Monite to an external product catalog.
          examples:
            - HT-1234-S-BL
            - SERVICE-67890
        ledger_account_id:
          type: string
          format: uuid
        measure_unit_id:
          type: string
          format: uuid
          description: The unique ID reference of the unit used to measure the quantity of this product (e.g. items, meters, kilograms).
        name:
          type: string
          maxLength: 100
          minLength: 1
          description: Name of the product.
        price:
          $ref: '#/components/schemas/Price'
        smallest_amount:
          type: number
          maximum: 2147483647
          minimum: 0
          description: The smallest amount allowed for this product.
        type:
          allOf:
            - $ref: '#/components/schemas/ProductServiceTypeEnum'
          description: Specifies whether this offering is a product or service. This may affect the applicable tax rates.
          default: product
      additionalProperties: false
      type: object
      required:
        - name
    ProductServiceResponse:
      properties:
        id:
          type: string
          format: uuid
          description: Unique ID of the product.
        created_at:
          type: string
          format: date-time
          description: Time at which the product was created. Timestamps follow the ISO 8601 standard.
        updated_at:
          type: string
          format: date-time
          description: Time at which the product was last updated. Timestamps follow the ISO 8601 standard.
        description:
          type: string
          description: Description of the product.
        entity_id:
          type: string
          format: uuid
        entity_user_id:
          type: string
          format: uuid
        external_reference:
          type: string
          maxLength: 255
          minLength: 1
          description: A user-defined identifier of the product. For example, an internal product code or SKU (stock keeping unit). Client applications can use this field to map the products in Monite to an external product catalog.
          examples:
            - HT-1234-S-BL
            - SERVICE-67890
        ledger_account_id:
          type: string
          format: uuid
        measure_unit_id:
          type: string
          format: uuid
          description: The unique ID reference of the unit used to measure the quantity of this product (e.g. items, meters, kilograms).
        name:
          type: string
          description: Name of the product.
        price:
          $ref: '#/components/schemas/Price'
        smallest_amount:
          type: number
          maximum: 2147483647
          minimum: 0
          description: The smallest amount allowed for this product.
        type:
          allOf:
            - $ref: '#/components/schemas/ProductServiceTypeEnum'
          description: Specifies whether this offering is a product or service. This may affect the applicable tax rates.
          default: product
      type: object
      required:
        - id
        - created_at
        - updated_at
        - entity_id
        - name
    ProductServiceTypeEnum:
      type: string
      enum:
        - product
        - service
    ProductServiceUpdate:
      properties:
        description:
          type: string
          maxLength: 255
          description: Description of the product.
        external_reference:
          type: string
          maxLength: 255
          minLength: 1
          description: A user-defined identifier of the product. For example, an internal product code or SKU (stock keeping unit). Client applications can use this field to map the products in Monite to an external product catalog.
          examples:
            - HT-1234-S-BL
            - SERVICE-67890
        ledger_account_id:
          type: string
          format: uuid
        measure_unit_id:
          type: string
          format: uuid
          description: The unique ID reference of the unit used to measure the quantity of this product (e.g. items, meters, kilograms).
        name:
          type: string
          maxLength: 100
          minLength: 1
          description: Name of the product.
        price:
          $ref: '#/components/schemas/Price'
        smallest_amount:
          type: number
          maximum: 2147483647
          minimum: 0
          description: The smallest amount allowed for this product.
        type:
          allOf:
            - $ref: '#/components/schemas/ProductServiceTypeEnum'
          description: Specifies whether this offering is a product or service. This may affect the applicable tax rates.
      additionalProperties: false
      type: object
    ProjectCreateRequest:
      properties:
        code:
          type: string
          maxLength: 20
          minLength: 1
          pattern: ^[a-zA-Z0-9]+$
          description: A user-defined identifier of this project.
        color:
          type: string
          maxLength: 128
          description: Project color as a [CSS-compatible](https://developer.mozilla.org/en-US/docs/Web/CSS/color) value. Client applications can use this to color-code the projects or project-related data.
          examples:
            - red
            - '#ff0000'
            - '#f00'
        description:
          type: string
          maxLength: 1024
          description: A user-defined description of the project.
        end_date:
          type: string
          format: date
          description: Project end date. If specified, must be later than or equal to the start date.
        name:
          type: string
          maxLength: 255
          minLength: 1
          description: The project name.
          example: Marketing
        parent_id:
          type: string
          format: uuid
          description: Unused. Reserved for future use.
        partner_metadata:
          type: object
          description: '[Metadata](https://docs.monite.com/common/metadata) for partner needs.'
        start_date:
          type: string
          format: date
          description: Project start date.
        tag_ids:
          items:
            type: string
            format: uuid
          type: array
          description: A list of IDs of user-defined tags (labels) assigned to this project.
          default: []
      additionalProperties: false
      type: object
      required:
        - name
    ProjectCursorFields:
      type: string
      enum:
        - id
        - created_at
    ProjectPaginationResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ProjectResource'
          type: array
        next_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the next page of results, or `null` if there is no next page (i.e. you've reached the last page).
        prev_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the previous page of results, or `null` if there is no previous page (i.e. you've reached the first page).
      type: object
      required:
        - data
      description: A paginated list of projects.
    ProjectResource:
      properties:
        id:
          type: string
          format: uuid
          description: A unique ID assigned to this project.
        created_at:
          type: string
          format: date-time
          description: UTC date and time when this project was created.
        updated_at:
          type: string
          format: date-time
          description: UTC date and time when this project was last updated.
        code:
          type: string
          maxLength: 20
          minLength: 1
          pattern: ^[a-zA-Z0-9]+$
          description: A user-defined identifier of this project.
        color:
          type: string
          maxLength: 128
          description: Project color as a [CSS-compatible](https://developer.mozilla.org/en-US/docs/Web/CSS/color) value. Client applications can use this to color-code the projects or project-related data.
          examples:
            - red
            - '#ff0000'
            - '#f00'
        created_by_entity_user_id:
          type: string
          format: uuid
          description: ID of the entity user who created this project, or `null` if it was created using a partner access token.
        description:
          type: string
          maxLength: 1024
          description: A user-defined description of the project.
        end_date:
          type: string
          format: date
          description: Project end date.
        entity_id:
          type: string
          format: uuid
          description: ID of the entity that owns this project.
        name:
          type: string
          maxLength: 255
          minLength: 1
          description: The project name.
          example: Marketing
        parent_id:
          type: string
          format: uuid
          description: Unused. Reserved for future use.
        partner_metadata:
          type: object
          description: '[Metadata](https://docs.monite.com/common/metadata) for partner needs.'
        start_date:
          type: string
          format: date
          description: Project start date.
        tags:
          items:
            $ref: '#/components/schemas/TagReadSchema'
          type: array
          description: A list of user-defined tags (labels) assigned to this project.
      additionalProperties: false
      type: object
      required:
        - id
        - created_at
        - updated_at
        - entity_id
        - name
    ProjectUpdateRequest:
      properties:
        code:
          type: string
          maxLength: 20
          minLength: 1
          pattern: ^[a-zA-Z0-9]+$
          description: A user-defined identifier of this project.
        color:
          type: string
          maxLength: 128
          description: Project color as a [CSS-compatible](https://developer.mozilla.org/en-US/docs/Web/CSS/color) value. Client applications can use this to color-code the projects or project-related data.
          examples:
            - red
            - '#ff0000'
            - '#f00'
        description:
          type: string
          maxLength: 1024
          description: A user-defined description of the project.
        end_date:
          type: string
          format: date
          description: Project end date. If specified, must be later than or equal to the start date.
        name:
          type: string
          maxLength: 255
          minLength: 1
          description: The project name.
          example: Marketing
        parent_id:
          type: string
          format: uuid
          description: Unused. Reserved for future use.
        partner_metadata:
          type: object
          description: '[Metadata](https://docs.monite.com/common/metadata) for partner needs.'
        start_date:
          type: string
          format: date
          description: Project start date.
        tag_ids:
          items:
            type: string
            format: uuid
          type: array
          description: A list of IDs of user-defined tags (labels) assigned to this project.
          default: []
      additionalProperties: false
      type: object
    PublicPaymentLinkResponse:
      properties:
        id:
          type: string
          format: uuid
        amount:
          type: integer
        currency:
          $ref: '#/components/schemas/CurrencyEnum'
        expires_at:
          type: string
          format: date-time
        invoice:
          $ref: '#/components/schemas/Invoice'
        payer:
          $ref: '#/components/schemas/PayerAccountResponse'
        payment_intent:
          $ref: '#/components/schemas/PaymentIntent'
        payment_intent_id:
          type: string
          format: uuid
        payment_methods:
          items:
            type: string
          type: array
        payment_page_url:
          type: string
          maxLength: 2083
          minLength: 1
          format: uri
        payment_reference:
          type: string
        recipient:
          $ref: '#/components/schemas/RecipientAccountResponse'
        return_url:
          type: string
          description: The URL where to redirect the payer after the payment. If `return_url` is specified, then after the payment is completed the payment page will display the "Return to platform" link that navigates to this URL.
          example: https://pay.example.com/complete
        status:
          type: string
      type: object
      required:
        - id
        - amount
        - currency
        - expires_at
        - payment_intent_id
        - payment_methods
        - payment_page_url
        - recipient
        - status
    PurchaseOrderCounterpartAddressSchema:
      properties:
        city:
          type: string
          description: City name.
          example: Berlin
        country:
          allOf:
            - $ref: '#/components/schemas/AllowedCountries'
          description: Two-letter ISO country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
          example: DE
        line1:
          type: string
          description: Street address.
          example: Flughafenstrasse 52
        line2:
          type: string
          description: Additional address information (if any).
        postal_code:
          type: string
          description: ZIP or postal code.
          example: "10115"
        state:
          type: string
          description: State, region, province, or county.
      type: object
      required:
        - city
        - country
        - line1
        - postal_code
      description: Address information.
    PurchaseOrderCounterpartIndividualResponse:
      properties:
        email:
          type: string
          format: email
          description: The person's email address.
          example: asingh@example.net
        first_name:
          type: string
          minLength: 1
          description: The person's first name.
          example: Adnan
        is_customer:
          type: boolean
          description: Indicates if the counterpart is a customer.
        is_vendor:
          type: boolean
          description: Indicates if the counterpart is a vendor.
        last_name:
          type: string
          minLength: 1
          description: The person's last name.
          example: Singh
        phone:
          type: string
          description: The person's phone number.
          example: "5553211234"
        title:
          type: string
          description: 'The person''s title or honorific. Examples: Mr., Ms., Dr., Prof.'
          example: Mr.
      type: object
      required:
        - first_name
        - is_customer
        - is_vendor
        - last_name
      description: Represents counterparts that are individuals (natural persons).
    PurchaseOrderCounterpartIndividualRootResponse:
      properties:
        id:
          type: string
          format: uuid
          description: Unique ID of the counterpart.
        created_at:
          type: string
          format: date-time
          description: Date and time when the counterpart was created. Timestamps follow the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) standard.
        updated_at:
          type: string
          format: date-time
          description: Date and time when the counterpart was last updated. Timestamps follow the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) standard.
        created_automatically:
          type: boolean
          description: '`true` if the counterpart was created automatically by Monite when processing incoming invoices with OCR. `false` if the counterpart was created by the API client.'
          default: false
        created_by_entity_user_id:
          type: string
          format: uuid
          description: Entity user ID of counterpart creator.
        default_billing_address_id:
          type: string
          format: uuid
          description: ID of the counterpart's billing address. If the counterpart is US-based and needs to accept ACH payments, this address must have all fields filled in. If `default_billing_address_id` is not defined, the default address is instead used as the billing address for ACH payments.
        default_shipping_address_id:
          type: string
          format: uuid
          description: ID of the shipping address.
        individual:
          $ref: '#/components/schemas/PurchaseOrderCounterpartIndividualResponse'
        language:
          allOf:
            - $ref: '#/components/schemas/LanguageCodeEnum'
          description: The language used to generate PDF documents for this counterpart.
        reminders_enabled:
          type: boolean
        tax_id:
          type: string
          maxLength: 30
          description: The counterpart's taxpayer identification number or tax ID. This field is required for counterparts that are non-VAT registered.
        type:
          allOf:
            - $ref: '#/components/schemas/CounterpartType'
          description: 'The counterpart type: `organization` (juridical person) or `individual` (natural person).'
      type: object
      required:
        - id
        - created_at
        - updated_at
        - individual
        - type
      description: Represents counterparts that are individuals (natural persons).
    PurchaseOrderCounterpartOrganizationResponse:
      properties:
        email:
          type: string
          format: email
          description: The email address of the organization
          example: acme@example.com
        is_customer:
          type: boolean
          description: Indicates if the counterpart is a customer.
        is_vendor:
          type: boolean
          description: Indicates if the counterpart is a vendor.
        legal_name:
          type: string
          description: The legal name of the organization.
          example: Acme Inc.
        phone:
          type: string
          description: The phone number of the organization
          example: "5551231234"
      type: object
      required:
        - is_customer
        - is_vendor
        - legal_name
      description: Represents counterparts that are organizations (juridical persons).
    PurchaseOrderCounterpartOrganizationRootResponse:
      properties:
        id:
          type: string
          format: uuid
          description: Unique ID of the counterpart.
        created_at:
          type: string
          format: date-time
          description: Date and time when the counterpart was created. Timestamps follow the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) standard.
        updated_at:
          type: string
          format: date-time
          description: Date and time when the counterpart was last updated. Timestamps follow the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) standard.
        created_automatically:
          type: boolean
          description: '`true` if the counterpart was created automatically by Monite when processing incoming invoices with OCR. `false` if the counterpart was created by the API client.'
          default: false
        created_by_entity_user_id:
          type: string
          format: uuid
          description: Entity user ID of counterpart creator.
        default_billing_address_id:
          type: string
          format: uuid
          description: ID of the counterpart's billing address. If the counterpart is US-based and needs to accept ACH payments, this address must have all fields filled in. If `default_billing_address_id` is not defined, the default address is instead used as the billing address for ACH payments.
        default_shipping_address_id:
          type: string
          format: uuid
          description: ID of the shipping address.
        language:
          allOf:
            - $ref: '#/components/schemas/LanguageCodeEnum'
          description: The language used to generate PDF documents for this counterpart.
        organization:
          $ref: '#/components/schemas/PurchaseOrderCounterpartOrganizationResponse'
        reminders_enabled:
          type: boolean
        tax_id:
          type: string
          maxLength: 30
          description: The counterpart's taxpayer identification number or tax ID. This field is required for counterparts that are non-VAT registered.
        type:
          allOf:
            - $ref: '#/components/schemas/CounterpartType'
          description: 'The counterpart type: `organization` (juridical person) or `individual` (natural person).'
      type: object
      required:
        - id
        - created_at
        - updated_at
        - organization
        - type
      description: Represents counterparts that are organizations (juridical persons).
    PurchaseOrderCounterpartSchema:
      anyOf:
        - $ref: '#/components/schemas/PurchaseOrderCounterpartIndividualRootResponse'
        - $ref: '#/components/schemas/PurchaseOrderCounterpartOrganizationRootResponse'
      description: |-
        A Counterpart object contains information about an organization (juridical person) or
        individual (natural person) that provides goods and services to or buys them from an
        [SME](https://docs.monite.com/docs/glossary#sme).
    PurchaseOrderCursorFields:
      type: string
      enum:
        - created_at
        - updated_at
    PurchaseOrderEmailPreviewRequest:
      properties:
        body_text:
          type: string
        subject_text:
          type: string
      additionalProperties: false
      type: object
      required:
        - body_text
        - subject_text
      description: A schema for request for preview of purchase order email
    PurchaseOrderEmailPreviewResponse:
      properties:
        body_preview:
          type: string
        subject_preview:
          type: string
      type: object
      required:
        - body_preview
        - subject_preview
      description: A schema for returning a response for email preview
    PurchaseOrderEmailSentResponse:
      properties:
        mail_id:
          type: string
          format: uuid
      type: object
      required:
        - mail_id
      description: A schema for returning a response an email with a link to purchase order document has been sent
    PurchaseOrderItem:
      properties:
        currency:
          allOf:
            - $ref: '#/components/schemas/CurrencyEnum'
          description: The currency in which the price of the product is set.
        name:
          type: string
          description: The name of the product to purchase
        price:
          type: integer
          description: The subtotal cost (excluding VAT), in [minor units](https://docs.monite.com/references/currencies#minor-units).
        quantity:
          type: integer
          description: Number (quantity) of products
        unit:
          type: string
          description: Units (hours, meters, unit)
        vat_rate:
          type: integer
          maximum: 10000
          minimum: 0
          description: 'Percent minor units. Example: 12.5% is 1250'
      additionalProperties: false
      type: object
      required:
        - currency
        - name
        - price
        - quantity
        - unit
        - vat_rate
    PurchaseOrderPaginationResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/PurchaseOrderResponseSchema'
          type: array
        next_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the next page of results, or `null` if there is no next page (i.e. you've reached the last page).
        prev_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the previous page of results, or `null` if there is no previous page (i.e. you've reached the first page).
      type: object
      required:
        - data
      description: A paginated list of purchase orders.
    PurchaseOrderPayloadSchema:
      properties:
        counterpart_address_id:
          type: string
          format: uuid
          description: The ID of counterpart address object stored in counterparts service. If not provided, counterpart's default address is used.
        counterpart_id:
          type: string
          format: uuid
          description: Counterpart unique ID.
        currency:
          allOf:
            - $ref: '#/components/schemas/CurrencyEnum'
          description: The currency in which the price of the product is set. (all items need to have the same currency)
        entity_vat_id_id:
          type: string
          format: uuid
          description: Entity VAT ID identifier that applied to purchase order
        items:
          items:
            $ref: '#/components/schemas/PurchaseOrderItem'
          type: array
          description: List of item to purchase
        message:
          type: string
          description: Msg which will be send to counterpart for who the purchase order is issued.
        project_id:
          type: string
          format: uuid
          description: Project ID of a purchase order
        valid_for_days:
          type: integer
          minimum: 1
          description: Number of days for which purchase order is valid
      type: object
      required:
        - counterpart_id
        - currency
        - items
        - message
        - valid_for_days
      description: Represents an Accounts Purchase Order document created by entity.
    PurchaseOrderResponseSchema:
      properties:
        id:
          type: string
          format: uuid
          description: A unique ID assigned to this purchase order.
        created_at:
          type: string
          format: date-time
          description: Time at which the receivable was created. Timestamps follow the ISO 8601 standard.
        updated_at:
          type: string
          format: date-time
          description: Time at which the receivable was last updated. Timestamps follow the ISO 8601 standard.
        counterpart:
          allOf:
            - $ref: '#/components/schemas/PurchaseOrderCounterpartSchema'
          description: Counterpart information about an organization (juridical person) or individual (natural person) that provides goods and services to or buys them from an
        counterpart_address:
          allOf:
            - $ref: '#/components/schemas/PurchaseOrderCounterpartAddressSchema'
          description: Counterpart address data saved on creation or update of the purchase order.
        counterpart_address_id:
          type: string
          format: uuid
          description: The ID of counterpart address object stored in counterparts service. If not provided, counterpart's default address is used.
        counterpart_id:
          type: string
          format: uuid
          description: Counterpart unique ID.
        created_by_user_id:
          type: string
          format: uuid
          description: ID of the creator of the purchase order
        currency:
          allOf:
            - $ref: '#/components/schemas/CurrencyEnum'
          description: The currency in which the price of the product is set. (all items need to have the same currency)
        document_id:
          type: string
        entity:
          anyOf:
            - $ref: '#/components/schemas/PayableEntityIndividualResponse'
            - $ref: '#/components/schemas/PayableEntityOrganizationResponse'
          description: Data of the entity (address, name, contact)
        entity_id:
          type: string
          format: uuid
          description: The ID of the entity which issued the purchase order.
        entity_vat_id:
          $ref: '#/components/schemas/PurchaseOrderVatId'
        file_id:
          type: string
          format: uuid
        file_url:
          type: string
        issued_at:
          type: string
          format: date
          description: When status changed from 'draft' to 'send', so after sending purchase order
        items:
          items:
            $ref: '#/components/schemas/PurchaseOrderItem'
          type: array
          description: List of item to purchase
        message:
          type: string
          description: Msg which will be send to counterpart for who the purchase order is issued.
        project_id:
          type: string
          format: uuid
          description: Project ID of a purchase order
        status:
          type: string
          description: Purchase order can be in 'draft' state before sending it to counterpart. After that state is 'issued'
        valid_for_days:
          type: integer
          minimum: 1
          description: Number of days for which purchase order is valid
      type: object
      required:
        - id
        - created_at
        - updated_at
        - counterpart
        - counterpart_id
        - currency
        - document_id
        - entity
        - entity_id
        - items
        - message
        - status
        - valid_for_days
      description: Represents response for an Accounts Purchase Order document created by entity.
    PurchaseOrderStatusEnum:
      type: string
      enum:
        - draft
        - issued
    PurchaseOrderVatId:
      properties:
        id:
          type: string
          format: uuid
        country:
          type: string
        entity_id:
          type: string
          format: uuid
        type:
          type: string
        value:
          type: string
      type: object
      required:
        - id
        - country
        - entity_id
        - type
        - value
    QuoteAcceptRequest:
      properties:
        signature:
          allOf:
            - $ref: '#/components/schemas/Signature'
          description: |-
            The counterpart's signature. Required if the quote field `signature_required` is `true`.

            If the entity setting `document_rendering.quote.display_signature` is `true` or if this setting is overridden to `true` on the quote level, the PDF version of the quote will be updated to include the signature details.
      additionalProperties: false
      type: object
    QuoteRenderingSettings:
      properties:
        display_entity_bank_account:
          type: boolean
          description: If set to `true`, the entity's bank account details will be displayed on the quote PDF.
          default: true
        display_signature:
          type: boolean
          description: If set to `true`, PDF quotes will include a block for the counterpart's signature. Before a quote is accepted, this block serves as a placeholder. After a counterpart accepts a quote with a digital signature, the PDF version of that quote is updated to include their signature and signing details.
          default: false
      type: object
    QuoteResponsePayload:
      properties:
        id:
          type: string
          format: uuid
        created_at:
          type: string
          format: date-time
          description: Time at which the receivable was created. Timestamps follow the ISO 8601 standard.
        updated_at:
          type: string
          format: date-time
          description: Time at which the receivable was last updated. Timestamps follow the ISO 8601 standard.
        attachments:
          items:
            $ref: '#/components/schemas/AttachmentResponse'
          type: array
          description: List of attachments to include with the receivable. Each attachment can be configured for email inclusion. If not provided, no attachments will be associated.
        based_on:
          type: string
          format: uuid
          description: Unused. Always returns `null`.
        based_on_document_id:
          type: string
          description: Unused. Always returns `null`.
        comment:
          type: string
          description: Field with a comment on why the client declined this Quote
        commercial_condition_description:
          type: string
          description: |-
            Additional terms and conditions for the receivable. For example, the return or cancellation policy. If defined, this text is displayed in the "Terms and conditions" section in the PDF.

            This is different from payment terms which are defined using `payment_terms` or `payment_terms_id`.

            See also: `memo`, `footer`.
        counterpart_billing_address:
          allOf:
            - $ref: '#/components/schemas/ReceivablesRepresentationOfCounterpartAddress'
          description: Address of invoicing, need to state as a separate fields for some countries if it differs from address of a company.
        counterpart_business_type:
          type: string
          maxLength: 50
          description: Different types of companies for different countries, ex. GmbH, SAS, SNC, etc.
        counterpart_contact:
          allOf:
            - $ref: '#/components/schemas/ReceivableCounterpartContact'
          description: Additional information about counterpart contacts.
        counterpart_external_reference:
          type: string
          description: The external reference of the counterpart.
        counterpart_id:
          type: string
          format: uuid
          description: Unique ID of the counterpart.
        counterpart_name:
          type: string
          description: A legal name of a counterpart it is an organization or first and last name if it is an individual
        counterpart_shipping_address:
          allOf:
            - $ref: '#/components/schemas/ReceivablesRepresentationOfCounterpartAddress'
          description: Address where goods were shipped / where services were provided.
        counterpart_tax_id:
          type: string
          description: The VAT/TAX ID of the counterpart.
        counterpart_type:
          allOf:
            - $ref: '#/components/schemas/CounterpartType'
          description: The type of the counterpart.
        counterpart_vat_id:
          $ref: '#/components/schemas/ReceivableCounterpartVatIDResponse'
        currency:
          allOf:
            - $ref: '#/components/schemas/CurrencyEnum'
          description: The currency used in the receivable.
        deduction_amount:
          type: integer
          maximum: 9007199254740991
          minimum: 0
          description: |-
            Deprecated and mutually exclusive with `deductions`.

            Specifies the amount (in [minor units](https://docs.monite.com/references/currencies#minor-units)) of a special deduction or incentive that is applied to the total after VAT.

            The default PDF label for deductions is "Incentives", but can be changed via the partner setting `receivable.deduction_title`.
          deprecated: true
          examples:
            - 1500
        deduction_memo:
          type: string
          description: |-
            Deprecated and mutually exclusive with `deductions`.

            A note with additional information about the deduction. It is displayed below the deduction line in the PDF.
          deprecated: true
        deductions:
          items:
            $ref: '#/components/schemas/DeductionItem'
          type: array
          maxItems: 10
          description: |-
            A list of deductions and incentives to be applied after VAT. This is different from discounts which are applied before VAT.

            The `deductions` field is mutually exclusive with the deprecated `deduction_amount` and `deduction_memo` fields.
        discount:
          allOf:
            - $ref: '#/components/schemas/DiscountResponse'
          description: The discount for a receivable.
        discounted_subtotal:
          type: integer
          maximum: 9007199254740991
          description: Total price of the receivable with discounts before taxes [minor units](https://docs.monite.com/references/currencies#minor-units).
        document_id:
          type: string
          description: The sequential code systematically assigned to invoices.
        document_rendering:
          allOf:
            - $ref: '#/components/schemas/DocumentRenderingSettings'
          description: Settings for rendering documents in PDF format, including settings for line items and specific document types.
        due_date:
          type: string
          format: date
          description: Unused. The expiration date of a quote is specified by `expiry_date` instead.
        einvoice_file_url:
          type: string
          description: Unused. Always returns `null`.
        entity:
          anyOf:
            - $ref: '#/components/schemas/ReceivableEntityOrganization'
            - $ref: '#/components/schemas/ReceivableEntityIndividual'
        entity_address:
          $ref: '#/components/schemas/ReceivableEntityAddressSchema'
        entity_bank_account:
          $ref: '#/components/schemas/ReceivablesRepresentationOfEntityBankAccount'
        entity_user_id:
          type: string
          format: uuid
          description: The entity user who created this document.
        entity_vat_id:
          $ref: '#/components/schemas/ReceivableEntityVatIDResponse'
        expiry_date:
          type: string
          format: date
          description: The date (in ISO 8601 format) until which the quote is valid.
        file_language:
          allOf:
            - $ref: '#/components/schemas/LanguageCodeEnum'
          description: The language of the customer-facing PDF file (`file_url`). The value matches the counterpart's `language` at the time when this PDF file was generated.
        file_url:
          type: string
          description: The receivable's PDF URL in the counterpart's default language.
        footer:
          type: string
          description: 'Optional text displayed below the line items table in the PDF. See also: `memo`, `commercial_condition_description`.'
        issue_date:
          type: string
          format: date-time
          description: Optional field for the issue of the entry.
        line_items:
          items:
            $ref: '#/components/schemas/ResponseItem'
          type: array
        memo:
          type: string
          description: 'An optional note for the customer, displayed above the line items table in the PDF. See also: `footer`, `commercial_condition_description`.'
        original_file_language:
          allOf:
            - $ref: '#/components/schemas/LanguageCodeEnum'
          description: The language of the entity's copy of the PDF file (`original_file_url`). The value matches the entity's `language` at the time when this PDF file was generated.
        original_file_url:
          type: string
          description: The receivable's PDF URL in the entity's default language.
        partner_metadata:
          type: object
          description: Metadata for partner needs
        project_id:
          type: string
          format: uuid
          description: ID of the [project](https://docs.monite.com/common/projects) associated with this quote. If specified, the project name will be included in the header of the PDF quote.
        quote_accept_page_url:
          type: string
          maxLength: 65536
          minLength: 1
          format: uri
          description: Link for custom quote accept page
        signature_required:
          type: boolean
          description: Whether the counterpart's signature is required to accept this quote.
        status:
          allOf:
            - $ref: '#/components/schemas/QuoteStateEnum'
          description: The status of the Quote inside the receivable workflow.
        subtotal:
          type: integer
          maximum: 9007199254740991
          description: The subtotal (excluding VAT), in [minor units](https://docs.monite.com/references/currencies#minor-units).
        subtotal_after_vat:
          type: integer
          maximum: 9007199254740991
          description: The subtotal including VAT but without invoice discount, in [minor units](https://docs.monite.com/references/currencies#minor-units).
        tags:
          items:
            $ref: '#/components/schemas/TagReadSchema'
          type: array
          description: The list of tags for this receivable.
          default: []
        total_amount:
          type: integer
          maximum: 9007199254740991
          description: Total price of the receivable in [minor units](https://docs.monite.com/references/currencies#minor-units). Calculated as a subtotal + total_vat_amount.
          default: 0
        total_deduction_amount:
          type: integer
          maximum: 9007199254740991
          description: The total amount of all deductions that are applied after VAT, in [minor units](https://docs.monite.com/references/currencies#minor-units).
        total_vat_amount:
          type: integer
          maximum: 9007199254740991
          description: The total VAT of all line items, in [minor units](https://docs.monite.com/references/currencies#minor-units).
        total_vat_amounts:
          items:
            $ref: '#/components/schemas/TotalVatAmountItem'
          type: array
          description: List of total vat amount for each VAT, presented in receivable
        total_withholding_tax:
          type: integer
          description: Total price of the receivable with tax withheld in minor units
        trade_name:
          type: string
          maxLength: 255
          description: Trade name of the entity
        type:
          type: string
          enum:
            - quote
          description: The type of the document uploaded.
        vat_exempt:
          type: boolean
          description: Unused. To indicate that a line item is non-taxable or exempt from tax, use the `tax_status` field of that line item.
        vat_exemption_rationale:
          type: string
          description: The reason for the VAT exemption, if applicable.
        vat_inclusive_discount_mode:
          allOf:
            - $ref: '#/components/schemas/VatModeEnum'
          description: Indicates whether the discount is applied to the VAT-inclusive or VAT-exclusive amount.
          default: exclusive
        vat_mode:
          allOf:
            - $ref: '#/components/schemas/VatModeEnum'
          description: Defines whether the prices of products in receivable will already include VAT or not.
          default: exclusive
        withholding_tax_rate:
          type: integer
          maximum: 10000
          minimum: 0
          description: The amount of tax withheld in percent minor units
      type: object
      required:
        - id
        - created_at
        - updated_at
        - counterpart_id
        - counterpart_type
        - currency
        - entity
        - entity_address
        - file_language
        - line_items
        - original_file_language
        - status
        - total_vat_amount
        - type
    QuoteStateEnum:
      type: string
      enum:
        - draft
        - issued
        - accepted
        - expired
        - declined
      description: Quote statuses.
    ReceiptAttachFile:
      properties:
        file:
          type: string
          format: binary
      type: object
      required:
        - file
    ReceiptCreateSchema:
      properties:
        base64_encoded_file:
          type: string
          description: Base64-encoded contents of the original receipt file.
        currency:
          allOf:
            - $ref: '#/components/schemas/CurrencyEnum'
          description: Currency code used in the receipt.
          example: EUR
        description:
          type: string
          maxLength: 1024
          description: Short transaction description.
          example: Payment for lunch with clients
        document_id:
          type: string
          maxLength: 255
          description: Unique receipt number assigned by the issuer.
          example: DE2287
        issued_at:
          type: string
          format: date-time
          description: Receipt issued date and time.
        merchant_location:
          type: string
          maxLength: 255
          description: Location of the merchant.
          example: West Street, London, UK
        merchant_name:
          type: string
          maxLength: 128
          description: Name of the merchant.
          example: Tesco
        partner_metadata:
          type: object
          description: Metadata for partner needs
        total_amount:
          type: integer
          minimum: 0
          description: Total amount for the receipt in minor units (e.g. cents).
          example: 15000
        transaction_id:
          type: string
          format: uuid
          description: Transaction ID.
      additionalProperties: false
      type: object
    ReceiptCursorFields:
      type: string
      enum:
        - id
        - created_at
    ReceiptLineItemCreateSchema:
      properties:
        accounting_tax_rate_id:
          type: string
          format: uuid
          description: Accounting tax rate ID.
        cost_center_id:
          type: string
          format: uuid
          description: Cost center ID.
        ledger_account_id:
          type: string
          format: uuid
          description: Ledger account ID.
        name:
          type: string
          description: Line item name/description.
        total:
          type: integer
          description: Line item total in minor units.
      additionalProperties: false
      type: object
    ReceiptLineItemCursorFields:
      type: string
      enum:
        - created_at
        - updated_at
    ReceiptLineItemResponseSchema:
      properties:
        id:
          type: string
          format: uuid
          description: Unique line item ID.
        created_at:
          type: string
          format: date-time
          description: Created at.
        updated_at:
          type: string
          format: date-time
          description: Updated at.
        accounting_tax_rate_id:
          type: string
          format: uuid
          description: Accounting tax rate ID.
        cost_center_id:
          type: string
          format: uuid
          description: Cost center ID.
        created_by_entity_user_id:
          type: string
          format: uuid
          description: Created by user.
        ledger_account_id:
          type: string
          format: uuid
          description: Ledger account ID.
        name:
          type: string
          description: Line item name.
        receipt_id:
          type: string
          format: uuid
          description: Receipt ID.
        total:
          type: integer
          description: Total.
      additionalProperties: false
      type: object
      required:
        - id
        - created_at
        - updated_at
        - receipt_id
    ReceiptLineItemUpdateSchema:
      properties:
        accounting_tax_rate_id:
          type: string
          format: uuid
          description: Accounting tax rate ID.
        cost_center_id:
          type: string
          format: uuid
          description: Cost center ID.
        ledger_account_id:
          type: string
          format: uuid
          description: Ledger account ID.
        name:
          type: string
          description: Line item name/description.
        total:
          type: integer
          description: Line item total in minor units.
      additionalProperties: false
      type: object
    ReceiptLineItemsPaginationResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ReceiptLineItemResponseSchema'
          type: array
        next_pagination_token:
          type: string
          description: Next page token.
        prev_pagination_token:
          type: string
          description: Previous page token.
      additionalProperties: false
      type: object
      required:
        - data
    ReceiptOriginEnum:
      type: string
      enum:
        - upload
        - email
    ReceiptPaginationResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ReceiptResponseSchema'
          type: array
        next_pagination_token:
          type: string
          description: Next page token.
        prev_pagination_token:
          type: string
          description: Previous page token.
      additionalProperties: false
      type: object
      required:
        - data
    ReceiptResponseSchema:
      properties:
        id:
          type: string
          format: uuid
          description: Unique receipt ID.
        created_at:
          type: string
          format: date-time
          description: Creation timestamp.
        updated_at:
          type: string
          format: date-time
          description: Update timestamp.
        created_by_entity_user_id:
          type: string
          format: uuid
          description: Entity user who created.
        currency:
          allOf:
            - $ref: '#/components/schemas/CurrencyEnum'
          description: Currency code.
        currency_exchange:
          type: object
          description: Currency exchange details.
        description:
          type: string
          maxLength: 1024
          description: Short transaction description.
          example: Payment for lunch with clients
        document_id:
          type: string
          maxLength: 255
          description: Receipt number.
        file_id:
          type: string
          format: uuid
          description: The id of the receipt file stored in the file saver.
          example: 123e4567-e89b-12d3-a456-426614174000
        file_url:
          type: string
          description: The URL of the receipt file stored in the file saver.
        issued_at:
          type: string
          format: date-time
          description: Date when the receipt was issued.
        merchant_location:
          type: string
          maxLength: 255
          description: Merchant location.
        merchant_name:
          type: string
          maxLength: 128
          description: Merchant name.
        ocr_request_id:
          type: string
          format: uuid
          description: OCR request id.
        ocr_status:
          type: string
          description: OCR status.
        origin:
          allOf:
            - $ref: '#/components/schemas/ReceiptOriginEnum'
          description: Specifies how this receipt was created in Monite.
        partner_metadata:
          type: object
          description: Partner metadata.
        sender:
          type: string
          format: email
          description: The email address from which the invoice was sent to the entity.
          example: hello@example.com
        source_of_data:
          allOf:
            - $ref: '#/components/schemas/SourceOfReceiptDataEnum'
          description: Source of data.
        total_amount:
          type: integer
          description: Total amount in minor units.
        transaction_id:
          type: string
          format: uuid
          description: Transaction ID.
      type: object
      required:
        - id
        - created_at
        - updated_at
        - origin
    ReceiptUpdateSchema:
      properties:
        base64_encoded_file:
          type: string
          description: Base64-encoded file contents.
        currency:
          allOf:
            - $ref: '#/components/schemas/CurrencyEnum'
          description: Currency code.
        description:
          type: string
          maxLength: 1024
          description: Short transaction description.
          example: Payment for lunch with clients
        document_id:
          type: string
          maxLength: 255
          description: Receipt number.
        issued_at:
          type: string
          format: date-time
          description: Date when the receipt was issued.
        merchant_location:
          type: string
          maxLength: 255
          description: Merchant location.
        merchant_name:
          type: string
          maxLength: 128
          description: Merchant name.
        partner_metadata:
          type: object
          description: Metadata for partner needs
        total_amount:
          type: integer
          minimum: 0
          description: Total amount.
        transaction_id:
          type: string
          format: uuid
          description: Transaction ID.
      additionalProperties: false
      type: object
    ReceiptUploadFile:
      properties:
        file:
          type: string
          format: binary
      type: object
      required:
        - file
    ReceivableCounterpartContact:
      properties:
        address:
          allOf:
            - $ref: '#/components/schemas/ReceivablesRepresentationOfCounterpartAddress'
          description: The contact address of the counterpart
        email:
          type: string
          format: email
          description: The contact email of the counterpart.
          example: marge@example.org
        first_name:
          type: string
          description: The first name of the counterpart contact.
          example: Marge
        last_name:
          type: string
          description: The last name of the counterpart contact.
          example: Smith
        phone:
          type: string
          description: The contact phone number of the counterpart.
          example: "55512378654"
        title:
          type: string
          description: The counterpart contact title (e.g. Dr., Mr., Mrs., Ms., etc).
          example: Dr.
      additionalProperties: false
      type: object
      required:
        - address
        - first_name
        - last_name
    ReceivableCounterpartVatIDResponse:
      properties:
        id:
          type: string
          format: uuid
        counterpart_id:
          type: string
          format: uuid
        country:
          $ref: '#/components/schemas/AllowedCountries'
        type:
          allOf:
            - $ref: '#/components/schemas/VatIDTypeEnum'
          default: unknown
          example: eu_vat
        value:
          type: string
          maxLength: 32
          example: "123456789"
      additionalProperties: false
      type: object
      required:
        - id
        - counterpart_id
        - value
    ReceivableCreateBasedOnPayload:
      properties:
        based_on:
          type: string
          format: uuid
          description: The unique ID of a previous document related to the receivable if applicable.
        tag_ids:
          items:
            type: string
            format: uuid
          type: array
          description: A list of IDs of user-defined tags (labels) assigned to this receivable.
          default: []
        type:
          allOf:
            - $ref: '#/components/schemas/BasedOnTransitionType'
          description: The type of a created receivable. Currently supported transitions:quote -> invoice; invoice -> credit_note
      additionalProperties: false
      type: object
      required:
        - based_on
        - type
    ReceivableCreatedEventData:
      properties: {}
      additionalProperties: false
      type: object
    ReceivableCursorFields:
      type: string
      enum:
        - counterpart_name
        - counterpart_id
        - amount
        - total_amount
        - discounted_subtotal
        - status
        - due_date
        - issue_date
        - document_id
        - created_at
        - project_id
    ReceivableCursorFields2:
      type: string
      enum:
        - counterpart_name
        - counterpart_id
        - amount
        - total_amount
        - status
        - due_date
        - issue_date
        - document_id
        - created_at
        - project_id
    ReceivableDeclinePayload:
      properties:
        comment:
          type: string
          description: Field with a comment on why the client declined this Quote
          example: The quote was declined for some reasons
      additionalProperties: false
      type: object
      description: Payload for decline a Qoute with a comment
    ReceivableDimensionEnum:
      type: string
      enum:
        - created_at
        - status
        - counterpart_id
        - currency
        - issue_date
        - due_date
        - project_id
        - product_id
    ReceivableEditFlow:
      type: string
      enum:
        - compliant
        - partially_compliant
        - non_compliant
    ReceivableEntityAddressSchema:
      properties:
        city:
          type: string
          maxLength: 255
          description: A city (a full name) where the entity is registered
        country:
          allOf:
            - $ref: '#/components/schemas/AllowedCountries'
          description: 'A country name (as ISO code) where the entity is registered '
          default: DE
          example: DE
        line1:
          type: string
          maxLength: 255
          description: A street where the entity is registered
        line2:
          type: string
          maxLength: 100
          description: An alternative street used by the entity
        postal_code:
          type: string
          maxLength: 10
          description: A postal code of the address where the entity is registered
        state:
          type: string
          description: A state in a country where the entity is registered
      additionalProperties: false
      type: object
      required:
        - city
        - line1
        - postal_code
      description: A schema represents address info of the entity
    ReceivableEntityBase:
      properties:
        email:
          type: string
          format: email
          description: An email of the entity
        logo:
          type: string
          maxLength: 2083
          minLength: 1
          format: uri
          description: A link to the entity logo
        phone:
          type: string
          description: A phone number of the entity
        registration_authority:
          type: string
          description: The registration authority of the entity
        registration_number:
          type: string
          description: The registration number of the entity
        website:
          type: string
          maxLength: 2083
          minLength: 1
          format: uri
          description: A website of the entity
      additionalProperties: false
      type: object
      description: A base schemas for an entity
    ReceivableEntityIndividual:
      properties:
        email:
          type: string
          format: email
          description: An email of the entity
        first_name:
          type: string
          description: The first name of the entity issuing the receivable
        last_name:
          type: string
          description: The last name of the entity issuing the receivable
        logo:
          type: string
          maxLength: 2083
          minLength: 1
          format: uri
          description: A link to the entity logo
        phone:
          type: string
          description: A phone number of the entity
        registration_authority:
          type: string
          description: The registration authority of the entity
        registration_number:
          type: string
          description: The registration number of the entity
        tax_id:
          type: string
          description: The Tax ID of the entity issuing the receivable
        type:
          type: string
          enum:
            - individual
          description: The entity type
        website:
          type: string
          maxLength: 2083
          minLength: 1
          format: uri
          description: A website of the entity
      type: object
      required:
        - first_name
        - last_name
        - type
      description: A Response schema for an entity of individual type
    ReceivableEntityIndividualRequest:
      properties:
        email:
          type: string
          format: email
          description: An email of the entity
        first_name:
          type: string
          description: The first name of the entity issuing the receivable
        last_name:
          type: string
          description: The last name of the entity issuing the receivable
        logo:
          type: string
          maxLength: 2083
          minLength: 1
          format: uri
          description: A link to the entity logo
        phone:
          type: string
          description: A phone number of the entity
        registration_authority:
          type: string
          description: The registration authority of the entity
        registration_number:
          type: string
          description: The registration number of the entity
        tax_id:
          type: string
          description: The Tax ID of the entity issuing the receivable
        type:
          type: string
          enum:
            - individual
          description: The entity type
        website:
          type: string
          maxLength: 2083
          minLength: 1
          format: uri
          description: A website of the entity
      additionalProperties: false
      type: object
      required:
        - first_name
        - last_name
        - type
      description: A Request schema for an entity of individual type
    ReceivableEntityOrganization:
      properties:
        email:
          type: string
          format: email
          description: An email of the entity
        logo:
          type: string
          maxLength: 2083
          minLength: 1
          format: uri
          description: A link to the entity logo
        name:
          type: string
          description: The name of the entity issuing the receivable, when it is an organization.
        phone:
          type: string
          description: A phone number of the entity
        registration_authority:
          type: string
          description: The registration authority of the entity
        registration_number:
          type: string
          description: The registration number of the entity
        tax_id:
          type: string
          description: The Tax ID of the entity issuing the receivable
        type:
          type: string
          enum:
            - organization
          description: The entity type
        vat_id:
          type: string
          description: The VAT ID of the entity issuing the receivable, when it is an organization.
        website:
          type: string
          maxLength: 2083
          minLength: 1
          format: uri
          description: A website of the entity
      type: object
      required:
        - name
        - type
      description: A Response schema for an entity of organization type
    ReceivableEntityOrganizationRequest:
      properties:
        email:
          type: string
          format: email
          description: An email of the entity
        logo:
          type: string
          maxLength: 2083
          minLength: 1
          format: uri
          description: A link to the entity logo
        name:
          type: string
          description: The name of the entity issuing the receivable, when it is an organization.
        phone:
          type: string
          description: A phone number of the entity
        registration_authority:
          type: string
          description: The registration authority of the entity
        registration_number:
          type: string
          description: The registration number of the entity
        tax_id:
          type: string
          description: The Tax ID of the entity issuing the receivable
        type:
          type: string
          enum:
            - organization
          description: The entity type
        website:
          type: string
          maxLength: 2083
          minLength: 1
          format: uri
          description: A website of the entity
      additionalProperties: false
      type: object
      required:
        - name
        - type
      description: A Request schema for an entity of organization type
    ReceivableEntityVatIDResponse:
      properties:
        id:
          type: string
          format: uuid
        country:
          $ref: '#/components/schemas/AllowedCountries'
        entity_id:
          type: string
          format: uuid
        type:
          allOf:
            - $ref: '#/components/schemas/VatIDTypeEnum'
          default: unknown
          example: eu_vat
        value:
          type: string
          maxLength: 32
          example: "123456789"
      type: object
      required:
        - id
        - country
        - entity_id
        - value
    ReceivableFacadeCreateInvoicePayload:
      properties:
        attachments:
          items:
            $ref: '#/components/schemas/AttachmentRequest'
          type: array
          minItems: 1
          description: List of attachments to include with the receivable. Each attachment can be configured for email inclusion. If not provided, no attachments will be associated.
        commercial_condition_description:
          type: string
          description: |-
            Additional terms and conditions for the receivable. For example, the return or cancellation policy. If defined, this text is displayed in the "Terms and conditions" section in the PDF.

            This is different from payment terms which are defined using `payment_terms` or `payment_terms_id`.

            See also: `memo`, `footer`.
        counterpart_billing_address_id:
          type: string
          format: uuid
          description: Address of invoicing, need to state as a separate fields for some countries if it differs from address of a company.
        counterpart_business_type:
          type: string
          maxLength: 50
          description: Different types of companies for different countries, ex. GmbH, SAS, SNC, etc.
        counterpart_einvoicing_credentials_id:
          type: string
          format: uuid
          description: E-invoicing credentials ID of the counterpart
        counterpart_id:
          type: string
          format: uuid
        counterpart_shipping_address_id:
          type: string
          format: uuid
          description: Address where goods were shipped / where services were provided.
        counterpart_vat_id_id:
          type: string
          format: uuid
          description: Counterpart VAT ID id
        currency:
          $ref: '#/components/schemas/CurrencyEnum'
        deduction_amount:
          type: integer
          maximum: 9007199254740991
          minimum: 0
          description: |-
            Deprecated and mutually exclusive with `deductions`. Use `deductions[].amount` instead.

            Specifies the amount ([minor units](https://docs.monite.com/references/currencies#minor-units)) of a special deduction or incentive that is applied to the total after VAT.

            The default PDF label for deductions is "Incentives", but can be changed via the partner setting `receivable.deduction_title`.
          deprecated: true
        deduction_memo:
          type: string
          description: |-
            Deprecated and mutually exclusive with `deductions`. Use `deductions[].memo` instead.

            A note with additional information about the deduction. It will be displayed below the deduction line in the PDF.
          deprecated: true
        deductions:
          items:
            $ref: '#/components/schemas/DeductionItem'
          type: array
          maxItems: 10
          description: |-
            A list of deductions and incentives to be applied after VAT. This is different from discounts which are applied before VAT.

            The `deductions` field is mutually exclusive with the deprecated `deduction_amount` and `deduction_memo` fields.
        discount:
          allOf:
            - $ref: '#/components/schemas/Discount'
          description: The discount for a receivable.
        document_id:
          type: string
          maxLength: 100
          minLength: 1
          description: The document number of the receivable, which will appear in the PDF document. Can be set manually only in the [non-compliant mode](https://docs.monite.com/accounts-receivable/regulatory-compliance/invoice-compliance). Otherwise (or if omitted), it will be generated automatically based on the entity's [document number customization](https://docs.monite.com/advanced/document-number-customization) settings when the document is issued.
          examples:
            - INV-0001
            - 2024-027
            - CUST/2024/00027
        document_rendering:
          allOf:
            - $ref: '#/components/schemas/DocumentRenderingSettings'
          description: Settings for rendering documents in PDF format, including settings for line items and specific document types.
        entity:
          $ref: '#/components/schemas/ReceivableEntityBase'
        entity_bank_account_id:
          type: string
          format: uuid
          description: Entity bank account ID
        entity_vat_id_id:
          type: string
          format: uuid
          description: Entity VAT ID id
        footer:
          type: string
          description: |-
            Optional text displayed below the line items table in the PDF. The text can include [variables](https://docs.monite.com/advanced/variables).

            See also: `memo`, `commercial_condition_description`.
        fulfillment_date:
          type: string
          format: date
          description: |-
            The date when the goods are shipped or the service is provided. Can be a current, past, or future date.

            Some countries require the fulfillment date in invoices for regulatory compliance. In this case, if the fulfillment date was not provided by the user, it is automatically set to the invoice issue date once the invoice gets issued.

            In countries where the fulfillment date is optional, Monite does not auto-assign it if it was omitted by the user.
        is_einvoice:
          type: boolean
          description: Is this Invoice will be sent through E-invoice system
          default: false
        line_items:
          items:
            $ref: '#/components/schemas/LineItem'
          type: array
        memo:
          type: string
          description: |-
            An optional note for the customer that will be displayed above the line items table in the PDF. The text can include [variables](https://docs.monite.com/advanced/variables).

            See also: `footer`, `commercial_condition_description`.
        network_credentials_id:
          type: string
          format: uuid
          description: E-invoicing credentials ID of the entity
        overdue_reminder_id:
          type: string
          format: uuid
        partner_metadata:
          type: object
          description: Metadata for partner needs
        payment_page_url:
          type: string
          maxLength: 2083
          minLength: 1
          format: uri
          description: Link to the invoice's payment page. Either Monite's payment links or your custom payment links.
        payment_reminder_id:
          type: string
          format: uuid
        payment_terms:
          $ref: '#/components/schemas/InlinePaymentTermsRequestPayload'
        payment_terms_id:
          type: string
          format: uuid
        project_id:
          type: string
          format: uuid
          description: ID of the [project](https://docs.monite.com/common/projects) associated with this invoice. If specified, the project name will be included in the header of the PDF invoice.
        purchase_order:
          type: string
          maxLength: 100
          description: Contain purchase order number.
        tag_ids:
          items:
            type: string
            format: uuid
          type: array
          description: A list of IDs of user-defined tags (labels) assigned to this receivable.
          default: []
        trade_name:
          type: string
          maxLength: 255
          description: Trade name of the entity
        type:
          type: string
          enum:
            - invoice
          description: The type of the document uploaded.
        vat_exempt:
          type: boolean
          description: Unused. To indicate that a line item is non-taxable or exempt from tax, use the `tax_status` field of that line item.
        vat_exemption_rationale:
          type: string
          description: The reason for the VAT exemption, if applicable.
        vat_mode:
          allOf:
            - $ref: '#/components/schemas/VatModeEnum'
          description: Defines whether the prices of products in receivable will already include VAT or not.
        withholding_tax_rate:
          type: integer
          maximum: 10000
          minimum: 0
          description: The amount of tax withheld in percent minor units
      additionalProperties: false
      type: object
      required:
        - counterpart_billing_address_id
        - counterpart_id
        - currency
        - line_items
        - type
    ReceivableFacadeCreatePayload:
      anyOf:
        - $ref: '#/components/schemas/ReceivableFacadeCreateQuotePayload'
        - $ref: '#/components/schemas/ReceivableFacadeCreateInvoicePayload'
        - $ref: '#/components/schemas/ReceivableCreateBasedOnPayload'
      additionalProperties: false
    ReceivableFacadeCreateQuotePayload:
      properties:
        attachments:
          items:
            $ref: '#/components/schemas/AttachmentRequest'
          type: array
          minItems: 1
          description: List of attachments to include with the receivable. Each attachment can be configured for email inclusion. If not provided, no attachments will be associated.
        commercial_condition_description:
          type: string
          description: |-
            Additional terms and conditions for the receivable. For example, the return or cancellation policy. If defined, this text is displayed in the "Terms and conditions" section in the PDF.

            This is different from payment terms which are defined using `payment_terms` or `payment_terms_id`.

            See also: `memo`, `footer`.
        counterpart_billing_address_id:
          type: string
          format: uuid
          description: Address of invoicing, need to state as a separate fields for some countries if it differs from address of a company.
        counterpart_business_type:
          type: string
          maxLength: 50
          description: Different types of companies for different countries, ex. GmbH, SAS, SNC, etc.
        counterpart_id:
          type: string
          format: uuid
        counterpart_shipping_address_id:
          type: string
          format: uuid
          description: Address where goods were shipped / where services were provided.
        counterpart_vat_id_id:
          type: string
          format: uuid
          description: Counterpart VAT ID id
        currency:
          $ref: '#/components/schemas/CurrencyEnum'
        deduction_amount:
          type: integer
          maximum: 9007199254740991
          minimum: 0
          description: |-
            Deprecated and mutually exclusive with `deductions`. Use `deductions[].amount` instead.

            Specifies the amount ([minor units](https://docs.monite.com/references/currencies#minor-units)) of a special deduction or incentive that is applied to the total after VAT.

            The default PDF label for deductions is "Incentives", but can be changed via the partner setting `receivable.deduction_title`.
          deprecated: true
        deduction_memo:
          type: string
          description: |-
            Deprecated and mutually exclusive with `deductions`. Use `deductions[].memo` instead.

            A note with additional information about the deduction. It will be displayed below the deduction line in the PDF.
          deprecated: true
        deductions:
          items:
            $ref: '#/components/schemas/DeductionItem'
          type: array
          maxItems: 10
          description: |-
            A list of deductions and incentives to be applied after VAT. This is different from discounts which are applied before VAT.

            The `deductions` field is mutually exclusive with the deprecated `deduction_amount` and `deduction_memo` fields.
        discount:
          allOf:
            - $ref: '#/components/schemas/Discount'
          description: The discount for a receivable.
        document_id:
          type: string
          maxLength: 100
          minLength: 1
          description: The document number of the receivable, which will appear in the PDF document. Can be set manually only in the [non-compliant mode](https://docs.monite.com/accounts-receivable/regulatory-compliance/invoice-compliance). Otherwise (or if omitted), it will be generated automatically based on the entity's [document number customization](https://docs.monite.com/advanced/document-number-customization) settings when the document is issued.
          examples:
            - INV-0001
            - 2024-027
            - CUST/2024/00027
        document_rendering:
          allOf:
            - $ref: '#/components/schemas/DocumentRenderingSettings'
          description: Settings for rendering documents in PDF format, including settings for line items and specific document types.
        entity:
          $ref: '#/components/schemas/ReceivableEntityBase'
        entity_bank_account_id:
          type: string
          format: uuid
          description: Entity bank account ID
        entity_vat_id_id:
          type: string
          format: uuid
          description: Entity VAT ID id
        expiry_date:
          type: string
          format: date
          description: The date (in ISO 8601 format) until which the quote is valid.
        footer:
          type: string
          description: |-
            Optional text displayed below the line items table in the PDF. The text can include [variables](https://docs.monite.com/advanced/variables).

            See also: `memo`, `commercial_condition_description`.
        line_items:
          items:
            $ref: '#/components/schemas/LineItem'
          type: array
        memo:
          type: string
          description: |-
            An optional note for the customer that will be displayed above the line items table in the PDF. The text can include [variables](https://docs.monite.com/advanced/variables).

            See also: `footer`, `commercial_condition_description`.
        partner_metadata:
          type: object
          description: Metadata for partner needs
        project_id:
          type: string
          format: uuid
          description: ID of the [project](https://docs.monite.com/common/projects) associated with this quote. If specified, the project name will be included in the header of the PDF quote.
        quote_accept_page_url:
          type: string
          maxLength: 65536
          minLength: 1
          format: uri
          description: Link for custom quote accept page
        signature_required:
          type: boolean
          description: |-
            Whether the counterpart's signature is required to accept this quote.

            If a value is not specified or is `null`, the default value is taken from the entity setting `quote_signature_required`.
        tag_ids:
          items:
            type: string
            format: uuid
          type: array
          description: A list of IDs of user-defined tags (labels) assigned to this receivable.
          default: []
        trade_name:
          type: string
          maxLength: 255
          description: Trade name of the entity
        type:
          type: string
          enum:
            - quote
          description: The type of the document uploaded.
        vat_exempt:
          type: boolean
          description: Unused. To indicate that a line item is non-taxable or exempt from tax, use the `tax_status` field of that line item.
        vat_exemption_rationale:
          type: string
          description: The reason for the VAT exemption, if applicable.
        vat_mode:
          allOf:
            - $ref: '#/components/schemas/VatModeEnum'
          description: Defines whether the prices of products in receivable will already include VAT or not.
        withholding_tax_rate:
          type: integer
          maximum: 10000
          minimum: 0
          description: The amount of tax withheld in percent minor units
      additionalProperties: false
      type: object
      required:
        - counterpart_billing_address_id
        - counterpart_id
        - currency
        - line_items
        - type
    ReceivableFileUrl:
      properties:
        file_url:
          type: string
          description: The receivable's PDF URL in the counterpart's default language.
        original_file_url:
          type: string
          description: The receivable's PDF URL in the entity's default language.
      type: object
    ReceivableHistoryCursorFields:
      type: string
      enum:
        - timestamp
    ReceivableHistoryEventTypeEnum:
      type: string
      enum:
        - status_changed
        - receivable_created
        - receivable_updated
        - based_on_receivable_created
        - payment_received
        - mail_sent
        - payment_reminder_mail_sent
        - overdue_reminder_mail_sent
    ReceivableHistoryPaginationResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ReceivableHistoryResponse'
          type: array
        next_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the next page of results, or `null` if there is no next page (i.e. you've reached the last page).
        prev_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the previous page of results, or `null` if there is no previous page (i.e. you've reached the first page).
      additionalProperties: false
      type: object
      required:
        - data
      description: A paginated list of change history records.
    ReceivableHistoryResponse:
      properties:
        id:
          type: string
          format: uuid
          description: A unique ID of the history record.
          examples:
            - cd58435b-1c79-4b17-9f79-f898c93e5f97
        current_pdf_url:
          type: string
          maxLength: 65536
          minLength: 1
          format: uri
          description: |-
            A URL of the PDF file that shows the document state after the change. Available only for the following event types: `receivable_created`, `receivable_updated`, `status_changed`, and `payment_received`. In other event types the `current_pdf_url` value is `null`.

            In `payment_received` events, the `current_pdf_url` value is available only in case of full payments and only if the entity setting `generate_paid_invoice_pdf` is `true`.

            Note that Monite generates PDFs asynchronously. This means that the initial value of `current_pdf_url` for the abovementioned events right after they occurred is usually `null` and the value gets populated later after the PDF document has been generated.
          examples:
            - https://monite-file-saver.example.com/12345/67890.pdf
        entity_user_id:
          type: string
          format: uuid
          description: ID of the entity user who made the change or trigger the event, or `null` if it was done by using a partner access token.
          examples:
            - d5a577b0-01c0-4566-ac5c-44f41935e8c4
        event_data:
          anyOf:
            - $ref: '#/components/schemas/StatusChangedEventData'
            - $ref: '#/components/schemas/ReceivableUpdatedEventData'
            - $ref: '#/components/schemas/ReceivableCreatedEventData'
            - $ref: '#/components/schemas/BasedOnReceivableCreatedEventData'
            - $ref: '#/components/schemas/PaymentReceivedEventData'
            - $ref: '#/components/schemas/MailSentEventData'
            - $ref: '#/components/schemas/ReminderMailSentEventData'
          description: An object containing additional information about the event or change. The object structure varies based on the `event_type`. In `receivable_created` and `receivable_updated` events, `event_data` is an empty object `{}`.
        event_type:
          allOf:
            - $ref: '#/components/schemas/ReceivableHistoryEventTypeEnum'
          description: The type of the event or change. See [Event types](https://docs.monite.com/accounts-receivable/document-history#event-types).
        receivable_id:
          type: string
          format: uuid
          description: ID of the receivable document that was changed or triggered an event.
          examples:
            - f669a8a4-0563-4ab9-b54f-e9d700d282c5
        timestamp:
          type: string
          format: date-time
          description: UTC date and time when the event or change occurred.
      type: object
      required:
        - id
        - event_data
        - event_type
        - receivable_id
        - timestamp
      description: Represents an entry in the change history of an accounts receivable document.
    ReceivableMailCursorFields:
      type: string
      enum:
        - status
        - created_at
        - updated_at
    ReceivableMailPaginationResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ReceivableMailResponse'
          type: array
        next_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the next page of results, or `null` if there is no next page (i.e. you've reached the last page).
        prev_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the previous page of results, or `null` if there is no previous page (i.e. you've reached the first page).
      type: object
      required:
        - data
    ReceivableMailRecipientState:
      properties:
        email:
          type: string
          format: email
          description: An email address of the recipient.
        error:
          type: string
          description: An error message in case the mailing was unsuccessful.
        is_success:
          type: boolean
          description: Whether mail was sent successfully.
      additionalProperties: false
      type: object
      required:
        - email
        - is_success
    ReceivableMailRecipients:
      properties:
        bcc:
          items:
            $ref: '#/components/schemas/ReceivableMailRecipientState'
          type: array
        cc:
          items:
            $ref: '#/components/schemas/ReceivableMailRecipientState'
          type: array
        to:
          items:
            $ref: '#/components/schemas/ReceivableMailRecipientState'
          type: array
      additionalProperties: false
      type: object
    ReceivableMailResponse:
      properties:
        id:
          type: string
          format: uuid
        created_at:
          type: string
          format: date-time
          description: The time the mail task was created
        updated_at:
          type: string
          format: date-time
          description: The time the mail task was updated
        recipients:
          $ref: '#/components/schemas/ReceivableMailRecipients'
        status:
          allOf:
            - $ref: '#/components/schemas/ReceivableMailStatusEnum'
          description: The status of the mail sent by receivable
      type: object
      required:
        - id
        - created_at
        - updated_at
        - status
    ReceivableMailStatusEnum:
      type: string
      enum:
        - pending
        - processing
        - sent
        - partially_sent
        - failed
    ReceivableMetricEnum:
      type: string
      enum:
        - id
        - total_amount
        - product_amount
        - product_quantity
    ReceivablePaginationResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ReceivableResponse'
          type: array
        next_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the next page of results, or `null` if there is no next page (i.e. you've reached the last page).
        prev_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the previous page of results, or `null` if there is no previous page (i.e. you've reached the first page).
      additionalProperties: false
      type: object
      required:
        - data
      description: A paginated list of receivables
    ReceivablePaidPayload:
      properties:
        comment:
          type: string
          description: Optional comment explaining how the payment was made.
        paid_at:
          type: string
          format: date-time
          description: Date and time when the invoice was paid.
      additionalProperties: false
      type: object
    ReceivablePartiallyPaidPayload:
      properties:
        amount_paid:
          type: integer
          maximum: 9007199254740991
          minimum: 1
          description: How much has been paid on the invoice (in minor units).
        comment:
          type: string
          description: Optional comment explaining how the payment was made.
      additionalProperties: false
      type: object
      required:
        - amount_paid
    ReceivablePreviewRequest:
      properties:
        body_text:
          type: string
          minLength: 1
          description: Body text of the content
        language:
          allOf:
            - $ref: '#/components/schemas/LanguageCodeEnum'
          description: Language code for localization purposes
          default: en
        subject_text:
          type: string
          minLength: 1
          description: Subject text of the content
        type:
          allOf:
            - $ref: '#/components/schemas/ReceivablesPreviewTypeEnum'
          description: The type of the preview document.
          default: receivable
      additionalProperties: false
      type: object
      required:
        - body_text
        - subject_text
      description: A schema for receiving a request for previewing an email with a receivable document
    ReceivablePreviewResponse:
      properties:
        body_preview:
          type: string
        subject_preview:
          type: string
      additionalProperties: false
      type: object
      required:
        - body_preview
        - subject_preview
      description: A schema for receiving a request for previewing an email with a receivable document
    ReceivableRequiredFields:
      properties:
        counterpart:
          allOf:
            - $ref: '#/components/schemas/CounterpartFields'
          description: Object describing the required fields for counterpart
          default:
            tax_id:
              description: The counterpart's taxpayer identification number or tax ID. For identification purposes, this field may be required for counterparts that are not VAT-registered.
              required: false
            vat_id:
              description: The counterpart's VAT (Value Added Tax) identification number. This field is required for counterparts that are VAT-registered.
              required: false
        entity:
          allOf:
            - $ref: '#/components/schemas/EntityFields'
          description: Object describing the required fields for entity
          default:
            tax_id:
              description: The entity's taxpayer identification number or tax ID. This field is required for entities that are non-VAT registered.
              required: false
            vat_id:
              description: The entity's VAT (Value Added Tax) identification number. This field is required for entities that are VAT-registered.
              required: false
        line_item:
          allOf:
            - $ref: '#/components/schemas/LineItemFields'
          description: Object describing the required fields for line items
          default:
            measure_unit:
              description: Unit used to measure the quantity of the product (e.g. items, meters, kilograms)
              required: false
            tax_rate_value:
              description: 'Percent minor units. Example: 12.5% is 1250. This field is only required on invoices issued by entities in the US, Pakistan, and other unsupported countries.'
              required: false
            vat_rate_id:
              description: Unique identifier of the vat rate object. This field is required for all entities in supported countries except the US and Pakistan.
              required: false
      additionalProperties: false
      type: object
      examples:
        - line_item:
            vat_rate_id:
              required: true
              description: Unique identifier of the vat rate object. This field is required for all entities in supported countries except the US and Pakistan.
            tax_rate_value:
              required: false
              description: 'Percent minor units. Example: 12.5% is 1250. This field is only required on invoices issued by entities in the US, Pakistan, and other unsupported countries.'
            measure_unit:
              required: true
              description: Unit used to measure the quantity of the product (e.g. items, meters, kilograms)
          entity:
            tax_id:
              required: false
              description: The entity's taxpayer identification number or tax ID. This field is required for entities that are non-VAT registered.
            vat_id:
              required: true
              description: The entity's VAT (Value Added Tax) identification number. This field is required for entities that are VAT-registered.
          counterpart:
            tax_id:
              required: false
              description: The counterpart's taxpayer identification number or tax ID. For identification purposes, this field may be required for counterparts that are not VAT-registered.
            vat_id:
              required: true
              description: The counterpart's VAT (Value Added Tax) identification number. This field is required for counterparts that are VAT-registered.
    ReceivableResponse:
      anyOf:
        - $ref: '#/components/schemas/QuoteResponsePayload'
        - $ref: '#/components/schemas/InvoiceResponsePayload'
        - $ref: '#/components/schemas/CreditNoteResponsePayload'
    ReceivableSendRequest:
      properties:
        body_text:
          type: string
          minLength: 1
          description: |-
            A plain-text string to be inserted into the email body. Use new line characters `\n` to split the text into paragraphs.

            This text substitutes the `{{body_template}}` variable in the [email template](https://docs.monite.com/advanced/email-templates/index) used, whereas the template itself defines the HTML layout, styles, and formatting of the email body.
            In the default email templates, this text goes after the logo and heading but before the receivable's details.

            This text can include [variables](https://docs.monite.com/advanced/variables) as placeholders for document-specific and counterpart-specific data.
        recipients:
          $ref: '#/components/schemas/Recipients'
          description: Additional email recipients besides the counterpart's default contact (which is stored in the `counterpart_contact.email` field of the receivable).
        subject_text:
          type: string
          minLength: 1
          description: Email subject text. Can include [variables](https://docs.monite.com/advanced/variables).
          examples:
            - 'New invoice #{invoice_number} from {entity_name}'
      additionalProperties: false
      type: object
      required:
        - body_text
        - subject_text
      description: A schema for receiving a request for sending a receivable
    ReceivableSendResponse:
      properties:
        mail_id:
          type: string
          format: uuid
          description: A unique ID of the email sending operation triggered by this API call. You can pass this value to [`GET /receivables/{receivable_id}/mails/{mail_id}`](https://docs.monite.com/api/receivables/get-receivables-id-mails-id) to check the email sending status.
      additionalProperties: false
      type: object
      required:
        - mail_id
      description: A schema for returning a response an email with a link to receivable document has been sent
    ReceivableSendTestReminderPayload:
      properties:
        recipients:
          $ref: '#/components/schemas/Recipients'
        reminder_type:
          allOf:
            - $ref: '#/components/schemas/ReminderTypeEnum'
          description: The type of the reminder to be sent.
      additionalProperties: false
      type: object
      required:
        - reminder_type
      description: Payload for sending a test reminder email
    ReceivableSettings:
      properties:
        create_without_personal_info:
          type: boolean
          description: Unused.
        deduction_title:
          anyOf:
            - type: string
              maxLength: 32
              minLength: 1
            - type: "null"
          description: The title for the section in PDF invoices that contains [special deductions or incentives](https://docs.monite.com/accounts-receivable/special-deductions). If `null`, the title defaults to "Incentives" (localized). Custom title is not automatically localized.
      type: object
      required:
        - create_without_personal_info
    ReceivableTemplatesVariable:
      properties:
        description:
          type: string
        name:
          type: string
      additionalProperties: false
      type: object
      required:
        - description
        - name
    ReceivableTemplatesVariablesObject:
      properties:
        object_subtype:
          $ref: '#/components/schemas/VariablesType'
        object_type:
          type: string
        variables:
          items:
            $ref: '#/components/schemas/ReceivableTemplatesVariable'
          type: array
      additionalProperties: false
      type: object
      required:
        - object_subtype
        - object_type
        - variables
    ReceivableTemplatesVariablesObjectList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ReceivableTemplatesVariablesObject'
          type: array
      additionalProperties: false
      type: object
      required:
        - data
    ReceivableType:
      type: string
      enum:
        - quote
        - invoice
        - credit_note
    ReceivableUncollectiblePayload:
      properties:
        comment:
          type: string
          description: Optional comment explains why the Invoice goes uncollectible.
      additionalProperties: false
      type: object
    ReceivableUpdatePayload:
      anyOf:
        - $ref: '#/components/schemas/UpdateQuotePayload'
        - $ref: '#/components/schemas/UpdateInvoicePayload'
        - $ref: '#/components/schemas/UpdateCreditNotePayload'
        - $ref: '#/components/schemas/UpdateIssuedInvoicePayload'
      additionalProperties: false
    ReceivableUpdatedEventData:
      properties: {}
      additionalProperties: false
      type: object
    ReceivablesAnalyticsDataPoint:
      properties:
        dimension_value:
          type: string
        metric_value:
          type: integer
      additionalProperties: false
      type: object
      required:
        - metric_value
    ReceivablesAnalyticsResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ReceivablesAnalyticsDataPoint'
          type: array
      type: object
      required:
        - data
    ReceivablesCounterpartAddress:
      properties:
        city:
          type: string
          description: City name.
          example: Berlin
        country:
          allOf:
            - $ref: '#/components/schemas/AllowedCountries'
          description: Two-letter ISO country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
          example: DE
        line1:
          type: string
          description: Street address.
          example: Flughafenstrasse 52
        line2:
          type: string
          description: Additional address information (if any).
        postal_code:
          type: string
          description: ZIP or postal code.
          example: "10115"
        state:
          type: string
          description: State, region, province, or county.
      type: object
      required:
        - city
        - country
        - line1
        - postal_code
      description: Address information.
    ReceivablesPreviewTypeEnum:
      type: string
      enum:
        - receivable
        - discount_reminder
        - final_reminder
    ReceivablesRemindersWarningMessage:
      properties:
        payment_reminders:
          type: string
          description: Warning message for payment reminder
      additionalProperties: false
      type: object
    ReceivablesRepresentationOfCounterpartAddress:
      properties:
        id:
          type: string
          format: uuid
          description: Unique ID of the address in the system
        city:
          type: string
          description: City name.
          example: Berlin
        country:
          allOf:
            - $ref: '#/components/schemas/AllowedCountries'
          description: Two-letter ISO country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
          example: DE
        line1:
          type: string
          description: Street address.
          example: Flughafenstrasse 52
        line2:
          type: string
          description: Additional address information (if any).
        postal_code:
          type: string
          description: ZIP or postal code.
          example: "10115"
        state:
          type: string
          description: State, region, province, or county.
      type: object
      required:
        - city
        - country
        - line1
        - postal_code
    ReceivablesRepresentationOfEntityBankAccount:
      properties:
        id:
          type: string
          format: uuid
          description: Unique ID of the entity bank account.
        account_holder_name:
          type: string
          description: Account holder's name
        account_number:
          type: string
          description: Account number (required if IBAN is not provided)
        bank_name:
          type: string
          description: The name of the entity's bank account.
        bic:
          type: string
          description: The BIC of the entity's bank account.
        iban:
          type: string
          description: The IBAN of the entity's bank account.
        routing_number:
          type: string
          description: Routing number (US)
        sort_code:
          type: string
          description: Sort code (GB)
      type: object
    ReceivablesSearchRequest:
      properties:
        based_on:
          type: string
          format: uuid
          description: |-
            This parameter accepts a quote ID or an invoice ID.

            * Specify a quote ID to find invoices created from this quote.
            * Specify an invoice ID to find credit notes created for this invoice.

            Valid but nonexistent IDs do not raise errors but produce no results.
        counterpart_id:
          type: string
          format: uuid
          description: |-
            Return only receivables created for the counterpart with the specified ID.

            Counterparts that have been deleted but have associated receivables will still return results here because the receivables contain a frozen copy of the counterpart data.

            If the specified counterpart ID does not exist and never existed, no results are returned.
        counterpart_name:
          type: string
          description: Return only receivables created for counterparts with the specified name (exact match, case-sensitive). For counterparts of `type` = `individual`, the full name is formatted as `first_name last_name`.
        counterpart_name__contains:
          type: string
          description: Return only receivables created for counterparts whose name contains the specified string (case-sensitive).
        counterpart_name__icontains:
          type: string
          description: Return only receivables created for counterparts whose name contains the specified string (case-insensitive).
        created_at__gt:
          type: string
          format: date-time
          description: Return only receivables created after the specified date and time. The value must be in the ISO 8601 format `YYYY-MM-DDThh:mm[:ss][Z|±hh:mm]`. The milliseconds part of the value is ignored.
        created_at__gte:
          type: string
          format: date-time
          description: Return only receivables created on or after the specified date and time. The milliseconds part of the value is ignored.
        created_at__lt:
          type: string
          format: date-time
          description: Return only receivables created before the specified date and time. The milliseconds part of the value is ignored.
        created_at__lte:
          type: string
          format: date-time
          description: Return only receivables created before or on the specified date and time. The milliseconds part of the value is ignored.
        discounted_subtotal:
          type: integer
          description: Return only receivables with the exact specified discounted subtotal. The amount must be specified in the [minor units](https://docs.monite.com/references/currencies#minor-units) of currency. For example, $12.5 is represented as 1250.
        discounted_subtotal__gt:
          type: integer
          description: Return only receivables whose discounted subtotal (in minor units) is greater than the specified value.
        discounted_subtotal__gte:
          type: integer
          description: Return only receivables whose discounted subtotal (in minor units) is greater than or equal to the specified value.
        discounted_subtotal__lt:
          type: integer
          description: Return only receivables whose discounted subtotal (in minor units) is less than the specified value.
        discounted_subtotal__lte:
          type: integer
          description: Return only receivables whose discounted subtotal (in minor units) is less than or equal to the specified value.
        document_id:
          type: string
          description: Return a receivable with the exact specified document number (case-sensitive). The `document_id` is the user-facing document number such as INV-00042, not to be confused with Monite resource IDs (`id`).
        document_id__contains:
          type: string
          description: Return only receivables whose document number (`document_id`) contains the specified string (case-sensitive).
        document_id__icontains:
          type: string
          description: Return only receivables whose document number (`document_id`) contains the specified string (case-insensitive).
        due_date__gt:
          type: string
          format: date
          description: |-
            Return receivables whose due date is after the specified date (exclusive, `YYYY-MM-DD`).

            This filter includes invoices and credit notes (only those with a due date) and excludes quotes.
        due_date__gte:
          type: string
          format: date
          description: |-
            Return receivables whose due date is on or after the specified date (`YYYY-MM-DD`).

            This filter includes invoices and credit notes (only those with a due date) and excludes quotes.
        due_date__lt:
          type: string
          format: date
          description: |-
            Return receivables whose due date is before the specified date (exclusive, `YYYY-MM-DD`).

            This filter includes invoices and credit notes (only those with a due date) and excludes quotes.
        due_date__lte:
          type: string
          format: date
          description: |-
            Return receivables whose due date is before or on the specified date (`YYYY-MM-DD`).

            This filter includes invoices and credit notes (only those with a due date) and excludes quotes.
        entity_user_id:
          type: string
          format: uuid
          description: |-
            Return only receivables created by the entity user with the specified ID. To query receivables by multiple user IDs at once, use the `entity_user_id__in` parameter instead.

            If the request is authenticated using an entity user token, this user must have the `receivable.read.allowed` (rather than `allowed_for_own`) permission to be able to query receivables created by other users.

            IDs of deleted users will still produce results here if those users had associated receivables. Valid but nonexistent user IDs do not raise errors but produce no results.
        entity_user_id__in:
          items:
            type: string
            format: uuid
          type: array
          description: |-
            Return only receivables created by the entity users with the specified IDs.

            If the request is authenticated using an entity user token, this user must have the `receivable.read.allowed` (rather than `allowed_for_own`) permission to be able to query receivables created by other users.

            IDs of deleted users will still produce results here if those users had associated receivables. Valid but nonexistent user IDs do not raise errors but produce no results.
        has_due_date:
          type: boolean
          description: |-
            If `true`, returns only invoices and credit notes that have the `due_date` defined.

            If `false`, returns receivables (invoices, quotes, credit notes) without a `due_date`.

            If omitted (default), all receivables are included.
        id__in:
          items:
            type: string
            format: uuid
          type: array
          description: Return only receivables with the specified IDs. Valid but nonexistent IDs do not raise errors but produce no results.
        issue_date__gt:
          type: string
          format: date-time
          description: Return only non-draft receivables that were issued after the specified date and time. The value must be in the ISO 8601 format `YYYY-MM-DDThh:mm[:ss][Z|±hh:mm]`. The milliseconds part of the value is ignored.
        issue_date__gte:
          type: string
          format: date-time
          description: Return only non-draft receivables that were issued on or after the specified date and time. The milliseconds part of the value is ignored.
        issue_date__lt:
          type: string
          format: date-time
          description: Return only non-draft receivables that were issued before the specified date and time. The milliseconds part of the value is ignored.
        issue_date__lte:
          type: string
          format: date-time
          description: Return only non-draft receivables that were issued before or on the specified date and time. The milliseconds part of the value is ignored.
        limit:
          type: integer
          maximum: 250
          minimum: 1
          default: 100
          description: |-
            The number of items (0 .. 250) to return in a single page of the response. Default is 100. The response may contain fewer items if it is the last or only page.

            When using pagination with a non-default limit, you must provide the `limit` value alongside `pagination_token` in all subsequent pagination requests. Unlike other pagination parameters, `limit` is not inferred from `pagination_token`.
        order:
          allOf:
            - $ref: '#/components/schemas/OrderEnum'
          default: asc
          description: Sort order (ascending by default). Typically used together with the `sort` parameter.
        pagination_token:
          type: string
          description: |-
            A pagination token obtained from a previous call to `GET /receivables` or `POST /receivables/search`. Use it to get the next or previous page of results for your initial query. If `pagination_token` is specified, all other parameters except `limit` are ignored and inferred from the initial query.

            If not specified, the first page of results will be returned.
        product_ids:
          items:
            type: string
            format: uuid
          type: array
          description: |-
            Return only receivables with line items containing all of the products with the specified IDs and optionally other products that are not specified.

            For example, given receivables that contain the following products:

             1. productA
             2. productB
             3. productA, productB
             4. productC
             5. productA, productB, productC

            `product_ids` = `[productA, productB]` will return receivables 3 and 5.

            Valid but nonexistent product IDs do not raise errors but produce no results.
        product_ids__in:
          items:
            type: string
            format: uuid
          type: array
          description: |-
            Return only receivables with line items containing at least one of the products with the specified IDs.

            For example, given receivables that contain the following products:

             1. productA
             2. productB
             3. productA, productB
             4. productC
             5. productB, productC

            `product_ids__in` = `[productA, productB]` will return receivables 1, 2, 3, and 5.

            Valid but nonexistent product IDs do not raise errors but produce no results.
        project_id:
          type: string
          format: uuid
          description: Return only receivables assigned to the project with the specified ID. Valid but nonexistent project IDs do not raise errors but return no results.
        project_id__in:
          items:
            type: string
            format: uuid
          type: array
          description: Return only receivables that belong to one of the projects with the specified IDs. Valid but nonexistent project IDs do not raise errors but produce no results.
        search_text:
          type: string
          description: Searches for the specified substring in the `counterpart_name` and `document_id` fields in receivables. The search is case-insensitive and allows partial matches. For example, `abc` will match `12-ABCD`.
        sort:
          $ref: '#/components/schemas/ReceivableCursorFields2'
          description: The field to sort the results by. Typically used together with the `order` parameter.
        status:
          type: string
          enum:
            - draft
            - issuing
            - issued
            - failed
            - accepted
            - expired
            - declined
            - recurring
            - partially_paid
            - paid
            - overdue
            - uncollectible
            - canceled
          description: |-
            Return only receivables that have the specified status. See the applicable [invoice statuses](https://docs.monite.com/accounts-receivable/invoices/index), [quote statuses](https://docs.monite.com/accounts-receivable/quotes/index), and [credit note statuses](https://docs.monite.com/accounts-receivable/credit-notes#credit-note-lifecycle).

            To query multiple statuses at once, use the `status__in` parameter instead.
        status__in:
          items:
            type: string
          type: array
          description: Return only receivables that have the specified statuses. See the applicable [invoice statuses](https://docs.monite.com/accounts-receivable/invoices/index), [quote statuses](https://docs.monite.com/accounts-receivable/quotes/index), and [credit note statuses](https://docs.monite.com/accounts-receivable/credit-notes#credit-note-lifecycle).
        tag_ids:
          items:
            type: string
            format: uuid
          type: array
          description: |-
            Return only receivables whose [tags](https://docs.monite.com/common/tags) include all of the tags with the specified IDs and optionally other tags that are not specified.

            For example, given receivables with the following tags:

             1. tagA
             2. tagB
             3. tagA, tagB
             4. tagC
             5. tagA, tagB, tagC

            `tag_ids` = `[tagA, tagB]` will return receivables 3 and 5.
        tag_ids__in:
          items:
            type: string
            format: uuid
          type: array
          description: |-
            Return only receivables whose [tags](https://docs.monite.com/common/tags) include at least one of the tags with the specified IDs.

            For example, given receivables with the following tags:

             1. tagA
             2. tagB
             3. tagA, tagB
             4. tagC
             5. tagB, tagC

            `tag_ids__in` = `[tagA, tagB]` will return receivables 1, 2, 3, and 5.

            Valid but nonexistent tag IDs do not raise errors but produce no results.
        total_amount:
          type: integer
          description: Return only receivables with the exact specified total amount. The amount must be specified in the [minor units](https://docs.monite.com/references/currencies#minor-units) of currency. For example, $12.5 is represented as 1250.
        total_amount__gt:
          type: integer
          description: Return only receivables whose total amount (in minor units) exceeds the specified value.
        total_amount__gte:
          type: integer
          description: Return only receivables whose total amount (in minor units) is greater than or equal to the specified value.
        total_amount__lt:
          type: integer
          description: Return only receivables whose total amount (in minor units) is less than the specified value.
        total_amount__lte:
          type: integer
          description: Return only receivables whose total amount (in minor units) is less than or equal to the specified value.
        type:
          allOf:
            - $ref: '#/components/schemas/ReceivableType'
          description: Return only receivables of the specified type. Use this parameter to get only invoices, or only quotes, or only credit notes.
      additionalProperties: false
      type: object
    ReceivablesSendResponse:
      properties:
        mail_ids:
          items:
            type: string
            format: uuid
          type: array
      additionalProperties: false
      type: object
      required:
        - mail_ids
      description: A schema for returning a response with list of ids by which user check sending status
    ReceivablesStatusEnum:
      type: string
      enum:
        - draft
        - issuing
        - issued
        - failed
        - accepted
        - expired
        - declined
        - recurring
        - partially_paid
        - paid
        - overdue
        - uncollectible
        - canceled
      description: Invoice statuses (used in accounts receivable).
    ReceivablesVerifyResponse:
      properties:
        errors:
          allOf:
            - $ref: '#/components/schemas/MissingFields'
          description: Missing fields of receivable
        warnings:
          allOf:
            - $ref: '#/components/schemas/ReceivablesRemindersWarningMessage'
          description: Warning message for payment reminder
      additionalProperties: false
      type: object
      description: A schema for returning a response with validation results
    RecipientAccountResponse:
      properties:
        id:
          type: string
          format: uuid
          description: ID of the entity or counterpart that is the recipient of the payment.
        bank_accounts:
          items:
            $ref: '#/components/schemas/BankAccount'
          type: array
          description: |-
            The bank account where the payment will be transferred. This array always contains one account.

            **Note:** If the payment recipient is the entity, payout is made to the entity's [default bank account](https://docs.monite.com/entities/bank-accounts#default) rather than the account returned by this field.
        name:
          type: string
          description: The name of the specified entity or counterpart. For individuals, the name is formatted as `first_name last_name`.
        type:
          allOf:
            - $ref: '#/components/schemas/PaymentAccountType'
          description: Indicates whether the payment recipient is an entity or a counterpart.
      type: object
      required:
        - id
        - type
    Recipients:
      properties:
        bcc:
          items:
            type: string
            format: email
          type: array
          description: A list of "Bcc" recipients.
        cc:
          items:
            type: string
            format: email
          type: array
          description: A list of "Cc" recipients.
        to:
          items:
            type: string
            format: email
          type: array
          description: A list of "To" recipients. The receivable's `counterpart_contact.email` address is automatically included in this list.
      additionalProperties: false
      type: object
    RecurrenceFrequency:
      type: string
      enum:
        - day
        - week
        - month
        - quarter
        - year
    RecurrenceIteration:
      properties:
        issue_at:
          type: string
          format: date
        issued_invoice_id:
          type: string
          format: uuid
        iteration:
          type: integer
          default: 1
        status:
          $ref: '#/components/schemas/IterationStatus'
      additionalProperties: false
      type: object
      required:
        - issue_at
        - status
    RecurrenceResponse:
      properties:
        id:
          type: string
          format: uuid
        created_at:
          type: string
          format: date-time
          description: Time at which the recurrence was created. Timestamps follow the ISO 8601 standard.
        updated_at:
          type: string
          format: date-time
          description: Time at which the recurrence was last updated. Timestamps follow the ISO 8601 standard.
        automation_level:
          allOf:
            - $ref: '#/components/schemas/AutomationLevel'
          description: |
            Controls how invoices are processed when generated:
            - "draft": Creates invoices in draft status, requiring manual review, issuing, and sending
            - "issue": Automatically issues invoices but requires manual sending
            - "issue_and_send": Fully automates the process (creates, issues, and sends invoices)

            Default: "issue" (or "issue_and_send" if subject_text and body_text are provided)

            Note: When using "issue_and_send", both subject_text and body_text must be provided.
        body_text:
          type: string
          description: The body text for the email that will be sent with the recurring invoice.
        current_iteration:
          type: integer
          minimum: 1
          description: Current iteration number
        day_of_month:
          allOf:
            - $ref: '#/components/schemas/DayOfMonth'
          description: Deprecated, use `start_date` instead
          deprecated: true
        end_date:
          type: string
          format: date
          description: The end date of the recurring invoice, in the `yyyy-mm-dd` format. The end date is inclusive, that is, the last invoice will be created on this date if the last occurrence falls on this date. `end_date` is mutually exclusive with `max_occurrences`. Either `end_date` or `max_occurrences` must be specified.
        end_month:
          type: integer
          maximum: 12
          minimum: 1
          description: Deprecated, use `end_date` instead
          deprecated: true
        end_year:
          type: integer
          maximum: 2077
          description: Deprecated, use `end_date` instead
          deprecated: true
        frequency:
          allOf:
            - $ref: '#/components/schemas/RecurrenceFrequency'
          description: How often the invoice will be created.
        interval:
          type: integer
          maximum: 100
          minimum: 1
          description: The interval between each occurrence of the invoice. For example, when using monthly frequency, an interval of 1 means invoices will be created every month, an interval of 2 means invoices will be created every 2 months.
        invoice_id:
          type: string
          format: uuid
          description: ID of the base invoice that will be used as a template for creating recurring invoices.
        iterations:
          items:
            $ref: '#/components/schemas/RecurrenceIteration'
          type: array
          minItems: 1
          description: List of iterations for the recurrence
        max_occurrences:
          type: integer
          maximum: 1000
          minimum: 1
          description: How many times the recurring invoice will be created. The recurrence will stop after this number is reached. `max_occurrences` is mutually exclusive with `end_date`. Either `max_occurrences` or `end_date` must be specified.
        recipients:
          allOf:
            - $ref: '#/components/schemas/Recipients'
          description: An object containing the recipients (To, CC, BCC) of the recurring invoices. Can be omitted if the base invoice has the counterpart contact email specified in the `counterpart_contact.email` field.
        start_date:
          type: string
          format: date
          description: The date when the first invoice will be created, in the `yyyy-mm-dd` format. Cannot be a past date. Subsequent invoice dates will be calculated based on `start_date`, `frequency`, and `interval`.
        start_month:
          type: integer
          maximum: 12
          minimum: 1
          description: Deprecated, use `start_date` instead
          deprecated: true
        start_year:
          type: integer
          maximum: 2077
          description: Deprecated, use `start_date` instead
          deprecated: true
        status:
          allOf:
            - $ref: '#/components/schemas/RecurrenceStatus'
          description: Status of the recurrence
          examples:
            - active
            - canceled
            - completed
        subject_text:
          type: string
          description: The subject for the email that will be sent with the recurring invoice.
      type: object
      required:
        - id
        - created_at
        - updated_at
        - automation_level
        - current_iteration
        - day_of_month
        - frequency
        - interval
        - invoice_id
        - iterations
        - start_date
        - start_month
        - start_year
        - status
    RecurrenceResponseList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/RecurrenceResponse'
          type: array
      additionalProperties: false
      type: object
      required:
        - data
    RecurrenceStatus:
      type: string
      enum:
        - active
        - paused
        - canceled
        - completed
      description: |-
        Represents the status of a recurrence

        Allowed transitions:
        - active -> paused
        - active -> canceled
        - active -> completed
        - paused -> active
        - paused -> canceled
    RelatedDocuments:
      properties:
        credit_note_ids:
          items:
            type: string
            format: uuid
          type: array
          description: IDs of credit notes created from this invoice. The list includes both draft and issued credit notes.
        proforma_invoice_id:
          type: string
          format: uuid
          description: Unused. Always returns `null`.
      additionalProperties: false
      type: object
    Reminder:
      properties:
        body:
          type: string
        days_before:
          type: integer
          maximum: 10000
          minimum: 1
        subject:
          type: string
      additionalProperties: false
      type: object
      required:
        - body
        - days_before
        - subject
    ReminderMailSentEventData:
      properties:
        mail_id:
          type: string
          format: uuid
          description: ID of the email sending operation. Can be used to get the email sending status from `GET /receivables/{receivable_id}/mails/{mail_id}`.
          examples:
            - d6185c8d-527c-4586-84c9-95881e7ba19f
        mail_status:
          allOf:
            - $ref: '#/components/schemas/ReceivableMailStatusEnum'
          description: The overall email sending status across all recipients.
        recipients:
          allOf:
            - $ref: '#/components/schemas/ReceivableMailRecipients'
          description: Contains a list of email recipients (To, CC, BCC) and the email sending status for each recipient.
        term:
          allOf:
            - $ref: '#/components/schemas/ReminderTypeEnum'
          description: |-
            Invoice reminder type:

            * `term_1` - [payment reminder](https://docs.monite.com/accounts-receivable/invoices/payment-reminders) sent before discount date 1,
            * `term_2` - payment reminder sent before discount date 2,
            * `term_final` - payment reminder sent before the invoice due date.
            * `overdue` - [overdue reminder](https://docs.monite.com/accounts-receivable/invoices/overdue-reminders) sent after the due date.
      additionalProperties: false
      type: object
      required:
        - mail_id
        - mail_status
        - recipients
        - term
      description: Contains information about an invoice reminder sent via email.
    ReminderTypeEnum:
      type: string
      enum:
        - term_1
        - term_2
        - term_final
        - overdue
    RemindersSettings:
      properties:
        enabled:
          type: boolean
          default: true
      type: object
    RepaymentSchedule:
      properties:
        repayment_amount:
          type: integer
          description: Repayment amount in minor units
        repayment_date:
          type: string
          description: Repayment date in ISO 8601 format
        repayment_fee_amount:
          type: integer
          description: Repayment fee amount in minor units
        repayment_principal_amount:
          type: integer
          description: Repayment principal amount in minor units
      type: object
      required:
        - repayment_date
        - repayment_amount
        - repayment_fee_amount
        - repayment_principal_amount
      description: Repayment schedule model
    RequirementsError:
      properties:
        code:
          type: string
        reason:
          type: string
        requirement:
          type: string
      additionalProperties: false
      type: object
      required:
        - code
        - reason
        - requirement
    ResponseItem:
      properties:
        discount:
          allOf:
            - $ref: '#/components/schemas/Discount'
          description: The discount for a product.
        product:
          $ref: '#/components/schemas/LineItemProduct'
        quantity:
          type: number
          maximum: 2147483647
          minimum: 0
          description: The quantity of each of the goods, materials, or services listed in the receivable.
        tax_status:
          allOf:
            - $ref: '#/components/schemas/TaxStatusEnum'
          description: |-
            Tax applicability status of the line item. Possible values:

            * `taxable` (default) - Standard tax behavior. Requires the tax rate to be specified.
            * `exempt` - Line item is exempt from taxes. Exempt items are not included in total tax calculations.
            * `non_taxable` - Line item is outside the tax scope entirely, cannot have tax rates.
          default: taxable
        total_after_vat:
          type: integer
          maximum: 9007199254740991
          description: Total of line_item after VAT with applied line item discount in [minor units](https://docs.monite.com/references/currencies#minor-units).
        total_before_vat:
          type: integer
          maximum: 9007199254740991
          description: Total of line_item before VAT in [minor units](https://docs.monite.com/references/currencies#minor-units).
      type: object
      required:
        - product
        - quantity
        - total_after_vat
        - total_before_vat
    RevokeTokenPayload:
      properties:
        client_id:
          type: string
          format: uuid
          description: Your partner [client ID](https://docs.monite.com/get-started/credentials#get-credentials) obtained from the "API Credentials" section of Monite Partner Portal. Note that the sandbox and production environment use different client IDs.
        client_secret:
          type: string
          description: Your partner [client secret](https://docs.monite.com/get-started/credentials#get-credentials) obtained from the "API Credentials" section of Monite Partner Portal. Note that the sandbox and production environment use different client secrets.
        token:
          type: string
          description: The token to revoke.
      additionalProperties: false
      type: object
      required:
        - client_id
        - client_secret
        - token
    RoleCursorFields:
      type: string
      enum:
        - updated_at
        - created_at
    RolePaginationResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/RoleResponse'
          type: array
          description: array of records
        next_pagination_token:
          anyOf:
            - type: string
            - type: "null"
          description: A token that can be sent in the `pagination_token` query parameter to get the next page of results, or `null` if there is no next page (i.e. you've reached the last page).
        prev_pagination_token:
          anyOf:
            - type: string
            - type: "null"
          description: A token that can be sent in the `pagination_token` query parameter to get the previous page of results, or `null` if there is no previous page (i.e. you've reached the first page).
      additionalProperties: false
      type: object
      required:
        - data
    RoleResponse:
      properties:
        id:
          type: string
          format: uuid
          description: UUID role ID
        created_at:
          type: string
          format: date-time
          description: UTC datetime
        updated_at:
          type: string
          format: date-time
          description: UTC datetime
        name:
          type: string
          minLength: 1
          description: Role name
        permissions:
          $ref: '#/components/schemas/BizObjectsSchema-Output'
          description: Access permissions
        status:
          $ref: '#/components/schemas/StatusEnum'
          description: record status, 'active' by default
      type: object
      required:
        - id
        - name
        - permissions
        - status
        - created_at
        - updated_at
    RootSchema-Input:
      oneOf:
        - $ref: '#/components/schemas/CommonSchema-Input'
        - $ref: '#/components/schemas/PayableSchema-Input'
      discriminator:
        propertyName: object_type
        mapping:
          accounting_tax_rate: '#/components/schemas/CommonSchema-Input'
          approval_policy: '#/components/schemas/CommonSchema-Input'
          approval_request: '#/components/schemas/CommonSchema-Input'
          comment: '#/components/schemas/CommonSchema-Input'
          cost_center: '#/components/schemas/CommonSchema-Input'
          counterpart: '#/components/schemas/CommonSchema-Input'
          counterpart_vat_id: '#/components/schemas/CommonSchema-Input'
          delivery_note: '#/components/schemas/CommonSchema-Input'
          entity: '#/components/schemas/CommonSchema-Input'
          entity_bank_account: '#/components/schemas/CommonSchema-Input'
          entity_user: '#/components/schemas/CommonSchema-Input'
          entity_vat_ids: '#/components/schemas/CommonSchema-Input'
          export: '#/components/schemas/CommonSchema-Input'
          ledger_account: '#/components/schemas/CommonSchema-Input'
          mailbox: '#/components/schemas/CommonSchema-Input'
          ocr_task: '#/components/schemas/CommonSchema-Input'
          onboarding: '#/components/schemas/CommonSchema-Input'
          overdue_reminder: '#/components/schemas/CommonSchema-Input'
          payable: '#/components/schemas/PayableSchema-Input'
          payables_purchase_order: '#/components/schemas/CommonSchema-Input'
          payment_record: '#/components/schemas/CommonSchema-Input'
          payment_reminder: '#/components/schemas/CommonSchema-Input'
          person: '#/components/schemas/CommonSchema-Input'
          product: '#/components/schemas/CommonSchema-Input'
          project: '#/components/schemas/CommonSchema-Input'
          receipt: '#/components/schemas/CommonSchema-Input'
          receivable: '#/components/schemas/CommonSchema-Input'
          reconciliation: '#/components/schemas/CommonSchema-Input'
          role: '#/components/schemas/CommonSchema-Input'
          tag: '#/components/schemas/CommonSchema-Input'
          todo_task: '#/components/schemas/CommonSchema-Input'
          todo_task_mute: '#/components/schemas/CommonSchema-Input'
          transaction: '#/components/schemas/CommonSchema-Input'
          workflow: '#/components/schemas/CommonSchema-Input'
    RootSchema-Output:
      oneOf:
        - $ref: '#/components/schemas/CommonSchema-Output'
        - $ref: '#/components/schemas/PayableSchema-Output'
      discriminator:
        propertyName: object_type
        mapping:
          accounting_tax_rate: '#/components/schemas/CommonSchema-Output'
          approval_policy: '#/components/schemas/CommonSchema-Output'
          approval_request: '#/components/schemas/CommonSchema-Output'
          comment: '#/components/schemas/CommonSchema-Output'
          cost_center: '#/components/schemas/CommonSchema-Output'
          counterpart: '#/components/schemas/CommonSchema-Output'
          counterpart_vat_id: '#/components/schemas/CommonSchema-Output'
          delivery_note: '#/components/schemas/CommonSchema-Output'
          entity: '#/components/schemas/CommonSchema-Output'
          entity_bank_account: '#/components/schemas/CommonSchema-Output'
          entity_user: '#/components/schemas/CommonSchema-Output'
          entity_vat_ids: '#/components/schemas/CommonSchema-Output'
          export: '#/components/schemas/CommonSchema-Output'
          ledger_account: '#/components/schemas/CommonSchema-Output'
          mailbox: '#/components/schemas/CommonSchema-Output'
          ocr_task: '#/components/schemas/CommonSchema-Output'
          onboarding: '#/components/schemas/CommonSchema-Output'
          overdue_reminder: '#/components/schemas/CommonSchema-Output'
          payable: '#/components/schemas/PayableSchema-Output'
          payables_purchase_order: '#/components/schemas/CommonSchema-Output'
          payment_record: '#/components/schemas/CommonSchema-Output'
          payment_reminder: '#/components/schemas/CommonSchema-Output'
          person: '#/components/schemas/CommonSchema-Output'
          product: '#/components/schemas/CommonSchema-Output'
          project: '#/components/schemas/CommonSchema-Output'
          receipt: '#/components/schemas/CommonSchema-Output'
          receivable: '#/components/schemas/CommonSchema-Output'
          reconciliation: '#/components/schemas/CommonSchema-Output'
          role: '#/components/schemas/CommonSchema-Output'
          tag: '#/components/schemas/CommonSchema-Output'
          todo_task: '#/components/schemas/CommonSchema-Output'
          todo_task_mute: '#/components/schemas/CommonSchema-Output'
          transaction: '#/components/schemas/CommonSchema-Output'
          workflow: '#/components/schemas/CommonSchema-Output'
    SendPurchaseOrderViaEmailRequest:
      properties:
        body_text:
          type: string
        subject_text:
          type: string
      additionalProperties: false
      type: object
      required:
        - body_text
        - subject_text
      description: A schema for request for sending purchase order via email
    ServiceProvidersEnum:
      type: string
      enum:
        - codat
        - railz
    SettingsResponse:
      properties:
        accounting:
          anyOf:
            - $ref: '#/components/schemas/AccountingSettings'
            - type: "null"
        allow_purchase_order_autolinking:
          anyOf:
            - type: boolean
            - type: "null"
          description: Automatically attempt to find a corresponding purchase order for all incoming payables.
          default: true
        currency:
          anyOf:
            - $ref: '#/components/schemas/CurrencySettings-Output'
            - type: "null"
        document_ids:
          anyOf:
            - $ref: '#/components/schemas/DocumentIDsSettings'
            - type: "null"
        document_rendering:
          $ref: '#/components/schemas/DocumentRenderingSettings-Output'
          description: Settings for rendering documents in PDF format.
        generate_paid_invoice_pdf:
          type: boolean
          description: |-
            This setting affects how PDF is generated for accounts receivable invoices that are paid, partially paid, or have credit notes applied.
            If this setting is `true`:

             * The totals block in the PDF invoice will include a list of all payments made and credit notes issued.
             * Once an invoice becomes fully paid, the payment link and QR code are removed.

            The PDF invoice gets regenerated at the moment when an invoice payment is recorded or a credit note is issued.  This PDF is not issued as a separate document, and the original PDF invoice is no longer available.
          default: false
        language:
          anyOf:
            - $ref: '#/components/schemas/LanguageCodeEnum'
            - type: "null"
        mail:
          anyOf:
            - $ref: '#/components/schemas/EntityMailSettings'
            - type: "null"
          description: Email settings for the entity
        payables_ocr_auto_tagging:
          anyOf:
            - items:
                $ref: '#/components/schemas/OcrAutoTaggingSettingsRequest'
              type: array
            - type: "null"
          description: Auto tagging settings for all incoming OCR payable documents.
        payables_skip_approval_flow:
          type: boolean
          description: If enabled, the approval policy will be skipped and the payable will be moved to `waiting_to_be_paid` status.
          default: false
        payment_priority:
          anyOf:
            - $ref: '#/components/schemas/PaymentPriorityEnum'
            - type: "null"
          description: Payment preferences for entity to automate calculating suggested payment date based on payment terms and entity preferences.
          default: working_capital
        quote_signature_required:
          type: boolean
          description: Sets the default behavior of whether a signature is required to accept quotes.
          default: false
        receivable_edit_flow:
          anyOf:
            - $ref: '#/components/schemas/ReceivableEditFlow'
            - type: "null"
          default: compliant
          description: |-
            [Invoice compliance mode](https://docs.monite.com/accounts-receivable/regulatory-compliance/invoice-compliance) for accounts receivable. Possible values:

             * `compliant` - invoices cannot be edited once issued.
             * `non_compliant` - issued invoices can still be edited.
             * `partially_compliant` - deprecated mode, should not be used.
        reminder:
          anyOf:
            - $ref: '#/components/schemas/RemindersSettings'
            - type: "null"
        vat_inclusive_discount_mode:
          $ref: '#/components/schemas/VatModeEnum'
          description: Defines whether the amount discounts (for percentage discounts it does not matter) on VAT inclusive invoices will be applied on amounts including VAT or excluding VAT.
          default: exclusive
        vat_mode:
          anyOf:
            - $ref: '#/components/schemas/VatModeEnum'
            - type: "null"
          description: Defines whether the prices of products in receivables will already include VAT or not.
          default: exclusive
      type: object
    Signature:
      properties:
        email:
          type: string
          format: email
          description: The email of the person who signed the quote.
        full_name:
          type: string
          maxLength: 255
          minLength: 1
          description: The full name of the person who signed the quote.
        signature_image:
          type: string
          maxLength: 524288
          minLength: 32
          contentEncoding: base64
          contentMediaType: image/png
          description: Base64-encoded PNG image of the signature of the person who signed the quote.
      additionalProperties: false
      type: object
      required:
        - email
        - full_name
        - signature_image
      desription: Represents a customer's signature. Used when marking quotes as accepted.
    SingleOnboardingRequirementsResponse:
      properties:
        disabled_reason:
          type: string
        payment_method:
          type: string
        requirements:
          $ref: '#/components/schemas/PaymentMethodRequirements'
        requirements_errors:
          items:
            $ref: '#/components/schemas/OnboardingRequirementsError'
          type: array
        verification_errors:
          items:
            $ref: '#/components/schemas/OnboardingVerificationError'
          type: array
        verification_status:
          $ref: '#/components/schemas/OnboardingVerificationStatusEnum'
      additionalProperties: false
      type: object
      required:
        - payment_method
        - requirements
        - requirements_errors
        - verification_errors
        - verification_status
    SourceOfPayableDataEnum:
      type: string
      enum:
        - ocr
        - user_specified
        - einvoicing
    SourceOfReceiptDataEnum:
      type: string
      enum:
        - ocr
        - user_specified
    StatusChangedEventData:
      properties:
        new_status:
          allOf:
            - $ref: '#/components/schemas/ReceivablesStatusEnum'
          description: The new status of a document.
          examples:
            - issued
        old_status:
          allOf:
            - $ref: '#/components/schemas/ReceivablesStatusEnum'
          description: The old status of a document.
          examples:
            - draft
      additionalProperties: false
      type: object
      required:
        - new_status
        - old_status
      description: |-
        Contains information about a document's status change. See the applicable
        [invoice statuses](https://docs.monite.com/accounts-receivable/invoices/index),
        [quote statuses](https://docs.monite.com/accounts-receivable/quotes/index),
        and [credit note statuses](https://docs.monite.com/accounts-receivable/credit-notes#credit-note-lifecycle).
    StatusEnum:
      type: string
      enum:
        - active
        - deleted
    SuccessResult:
      properties:
        success:
          type: boolean
          default: true
      type: object
    SuggestedCounterpartPayload:
      properties:
        id:
          type: string
          format: uuid
        address_id:
          type: string
          format: uuid
        bank_account_id:
          type: string
          format: uuid
        vat_id_id:
          type: string
          format: uuid
      additionalProperties: false
      type: object
      required:
        - id
    SuggestedPaymentTerm:
      properties:
        date:
          type: string
          format: date
        discount:
          type: integer
          maximum: 10000
          minimum: 0
      additionalProperties: false
      type: object
      required:
        - date
      description: Suggested payment date and corresponding discount
    SuggestedResponse:
      properties:
        suggested_counterpart:
          $ref: '#/components/schemas/SuggestedCounterpartPayload'
      additionalProperties: false
      type: object
      required:
        - suggested_counterpart
    SupportedFieldNames:
      type: string
      enum:
        - default_account_code
        - default_tax_rate_code
    SupportedFormatSchema:
      properties:
        available_types:
          additionalProperties:
            items:
              $ref: '#/components/schemas/ExportFormat'
            type: array
          type: object
        object_type:
          type: string
          enum:
            - payable
            - receivable
      additionalProperties: false
      type: object
      required:
        - available_types
        - object_type
    SyncRecordCursorFields:
      type: string
      enum:
        - created_at
        - updated_at
    SyncRecordResource:
      properties:
        id:
          type: string
          format: uuid
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        errors:
          type: object
        last_pulled_at:
          type: string
          format: date-time
        object_id:
          type: string
          format: uuid
        object_type:
          $ref: '#/components/schemas/ObjectMatchTypes'
        object_updated_at:
          type: string
          format: date-time
        platform:
          $ref: '#/components/schemas/Platform'
        platform_object_id:
          type: string
        platform_updated_at:
          type: string
          format: date-time
        provider:
          $ref: '#/components/schemas/ServiceProvidersEnum'
        provider_object_id:
          type: string
        provider_updated_at:
          type: string
          format: date-time
        sync_status:
          $ref: '#/components/schemas/SyncStatus'
      type: object
      required:
        - id
        - created_at
        - updated_at
        - last_pulled_at
        - sync_status
        - object_type
    SyncRecordResourceList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/SyncRecordResource'
          type: array
        next_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the next page of results, or `null` if there is no next page (i.e. you've reached the last page).
          example: eyJvcmRlciI6ImFzYyIsImxpbWl0IjoyLCJwYWdpbmF0aW9uX2ZpbHRlcnMiOnsiZW50aXR5X2lkIjoiOWQyYjRjOGYtMjA4Ny00NzM4LWJhOTEtNzM1OTY4M2M0OWE0In0sInBhZ2luYXRpb25fdG9rZW5fdHlwZSI6Im5leHQiLCJjdXJzb3JfZmllbGQiOm51bGwsImN1cnNvcl9maWVsZF92YWx1ZSI6bnVsbCwiY3VycmVudF9vaWQiOjR9
        prev_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the previous page of results, or `null` if there is no previous page (i.e. you've reached the first page).
          example: eyJvcmRlciI6ImFzYyIsImxpbWl0IjoyLCJwYWdpbmF0aW9uX2ZpbHRlcnMiOnsiZW50aXR5X2lkIjoiOWQyYjRjOGYtMjA4Ny00NzM4LWJhOTEtNzM1OTY4M2M0OWE0In0sInBhZ2luYXRpb25fdG9rZW5fdHlwZSI6Im5leHQiLCJjdXJzb3JfZmllbGQiOm51bGwsImN1cnNvcl9maWVsZF92YWx1ZSI6bnVsbCwiY3VycmVudF9vaWQiOjR9
      type: object
      required:
        - data
    SyncStatus:
      type: string
      enum:
        - pending
        - error
        - done
    SystemTemplateDataSchema:
      properties:
        available_templates:
          items:
            $ref: '#/components/schemas/TemplateDataSchema'
          type: array
          description: Array of templates
        template_name:
          type: string
          description: Name of the template
      additionalProperties: false
      type: object
      required:
        - available_templates
        - template_name
    SystemTemplates:
      properties:
        data:
          items:
            $ref: '#/components/schemas/SystemTemplateDataSchema'
          type: array
          description: All pre-defined email templates
      type: object
      required:
        - data
    TagCategory:
      type: string
      enum:
        - document_type
        - department
        - project
        - cost_center
        - vendor_type
        - payment_method
        - approval_status
    TagCreateSchema:
      properties:
        category:
          allOf:
            - $ref: '#/components/schemas/TagCategory'
          description: The tag category.
          example: department
        description:
          type: string
          maxLength: 255
          minLength: 1
          description: The tag description.
          example: Tag for the Marketing Department
        name:
          type: string
          maxLength: 255
          minLength: 1
          description: The tag name. Must be unique.
          example: Marketing
      additionalProperties: false
      type: object
      required:
        - name
    TagCursorFields:
      type: string
      enum:
        - created_at
        - updated_at
    TagReadSchema:
      properties:
        id:
          type: string
          format: uuid
          description: A unique ID of this tag.
          example: ea837e28-509b-4b6a-a600-d54b6aa0b1f5
        created_at:
          type: string
          format: date-time
          description: Date and time when the tag was created. Timestamps follow the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) standard.
          example: "2022-09-07T16:35:18.484507+00:00"
        updated_at:
          type: string
          format: date-time
          description: Date and time when the tag was last updated. Timestamps follow the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) standard.
          example: "2022-09-07T16:35:18.484507+00:00"
        category:
          allOf:
            - $ref: '#/components/schemas/TagCategory'
          description: The tag category.
          example: department
        created_by_entity_user_id:
          type: string
          format: uuid
          description: ID of the user who created the tag.
          example: ea837e28-509b-4b6a-a600-d54b6aa0b1f5
        description:
          type: string
          maxLength: 255
          minLength: 1
          description: The tag description.
          example: Tag for the Marketing Department
        name:
          type: string
          description: The tag name.
          example: Marketing
      type: object
      required:
        - id
        - created_at
        - updated_at
        - name
      description: Represents a user-defined tag that can be assigned to resources to filter them.
    TagUpdateSchema:
      properties:
        category:
          allOf:
            - $ref: '#/components/schemas/TagCategory'
          description: The tag category.
          example: department
        description:
          type: string
          maxLength: 255
          minLength: 1
          description: The tag description.
          example: Tag for the Marketing Department
        name:
          type: string
          maxLength: 255
          minLength: 1
          description: The tag name. Must be unique.
          example: Marketing
      additionalProperties: false
      type: object
    TagsPaginationResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/TagReadSchema'
          type: array
        next_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the next page of results, or `null` if there is no next page (i.e. you've reached the last page).
          example: eyJvcmRlciI6ImFzYyIsImxpbWl0IjoyLCJwYWdpbmF0aW9uX2ZpbHRlcnMiOnsiZW50aXR5X2lkIjoiOWQyYjRjOGYtMjA4Ny00NzM4LWJhOTEtNzM1OTY4M2M0OWE0In0sInBhZ2luYXRpb25fdG9rZW5fdHlwZSI6Im5leHQiLCJjdXJzb3JfZmllbGQiOm51bGwsImN1cnNvcl9maWVsZF92YWx1ZSI6bnVsbCwiY3VycmVudF9vaWQiOjR9
        prev_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the previous page of results, or `null` if there is no previous page (i.e. you've reached the first page).
          example: eyJvcmRlciI6ImFzYyIsImxpbWl0IjoyLCJwYWdpbmF0aW9uX2ZpbHRlcnMiOnsiZW50aXR5X2lkIjoiOWQyYjRjOGYtMjA4Ny00NzM4LWJhOTEtNzM1OTY4M2M0OWE0In0sInBhZ2luYXRpb25fdG9rZW5fdHlwZSI6Im5leHQiLCJjdXJzb3JfZmllbGQiOm51bGwsImN1cnNvcl9maWVsZF92YWx1ZSI6bnVsbCwiY3VycmVudF9vaWQiOjR9
      type: object
      required:
        - data
      description: A paginated list of tags.
    TaxComponentResponse:
      properties:
        is_compound:
          type: boolean
          description: A flag to indicate with the tax is calculated using the principle of compounding.
        name:
          type: string
        rate:
          type: integer
          description: Component tax rate as a percentage multiplied by 100. For example, 12.5% is represented as 1250.
      type: object
    TaxRateAccountCursorFields:
      type: string
      enum:
        - name
    TaxRateAccountCursorFields2:
      type: string
      enum:
        - name
    TaxStatusEnum:
      type: string
      enum:
        - taxable
        - exempt
        - non_taxable
    TemplateDataSchema:
      properties:
        body_template:
          type: string
          description: Jinja2 compatible email body template
        language:
          type: string
          description: Lowercase ISO code of language
        subject_template:
          type: string
          description: Jinja2 compatible email subject template
      additionalProperties: false
      type: object
      required:
        - body_template
        - language
        - subject_template
    TemplateListResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/TemplateReceivableResponse'
          type: array
      type: object
    TemplateReceivableResponse:
      properties:
        id:
          type: string
          format: uuid
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        blocks:
          items:
            type: string
          type: array
        document_type:
          $ref: '#/components/schemas/PdfDocumentTypeEnum'
        is_default:
          type: boolean
        language:
          type: string
        name:
          type: string
        preview:
          $ref: '#/components/schemas/FileResponse'
        template:
          type: string
        template_type:
          allOf:
            - $ref: '#/components/schemas/TemplateTypeEnum'
          default: source_object
      type: object
      required:
        - id
        - document_type
        - is_default
        - language
        - name
        - template
    TemplateTypeEnum:
      type: string
      enum:
        - block
        - source_object
    TermDiscountDays:
      properties:
        discount:
          type: integer
          maximum: 10000
          minimum: 0
          description: The discount percentage in minor units. E.g., 200 means 2%. 1050 means 10.5%.
        number_of_days:
          type: integer
          maximum: 10000
          minimum: 0
          description: The amount of days after the invoice issue date.
      additionalProperties: false
      type: object
      required:
        - discount
        - number_of_days
    TermFinalDays:
      properties:
        number_of_days:
          type: integer
          maximum: 10000
          minimum: 0
          description: The amount of days after the invoice issue date.
      additionalProperties: false
      type: object
      required:
        - number_of_days
    TermsOfServiceAcceptance-Input:
      properties:
        date:
          anyOf:
            - type: string
              format: date-time
            - type: "null"
          description: The date and time (in the ISO 8601 format) when the entity representative accepted the service agreement.
        ip:
          anyOf:
            - type: string
              format: ipvanyaddress
            - type: "null"
          description: The IP address from which the entity representative accepted the service agreement. If omitted or set to `null` in the request, the IP address is inferred from the request origin or the `X-Forwarded-For` request header.
          examples:
            - 203.0.113.24
      additionalProperties: false
      type: object
    TermsOfServiceAcceptance-Output:
      properties:
        date:
          anyOf:
            - type: string
              format: date-time
            - type: "null"
          description: The date and time (in the ISO 8601 format) when the entity representative accepted the service agreement.
        ip:
          anyOf:
            - type: string
            - type: "null"
          description: The IP address from which the entity representative accepted the service agreement. If omitted or set to `null` in the request, the IP address is inferred from the request origin or the `X-Forwarded-For` request header.
          examples:
            - 203.0.113.24
      additionalProperties: false
      type: object
    TextTemplateDocumentTypeEnum:
      type: string
      enum:
        - quote
        - invoice
        - credit_note
        - discount_reminder
        - final_reminder
        - payables_purchase_order
        - overdue_reminder
    TextTemplateResponse:
      properties:
        id:
          type: string
          format: uuid
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        document_type:
          $ref: '#/components/schemas/TextTemplateDocumentTypeEnum'
        is_default:
          type: boolean
        name:
          type: string
        template:
          type: string
        type:
          $ref: '#/components/schemas/TextTemplateType'
      type: object
      required:
        - id
        - created_at
        - updated_at
        - document_type
        - is_default
        - name
        - template
        - type
    TextTemplateResponseList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/TextTemplateResponse'
          type: array
        next_pagination_token:
          type: string
        prev_pagination_token:
          type: string
      type: object
      required:
        - data
    TextTemplateType:
      type: string
      enum:
        - email_header
        - email_body
        - memo
    TotalVatAmountItem:
      properties:
        id:
          type: string
          format: uuid
        amount:
          type: integer
          maximum: 9007199254740991
          minimum: 0
          description: The total VAT of all line items, in [minor units](https://docs.monite.com/references/currencies#minor-units).
        components:
          items:
            $ref: '#/components/schemas/TotalVatAmountItemComponent'
          type: array
          minItems: 1
          description: Sub-taxes included in the VAT.
        name:
          type: string
          description: Display name of the vat rate.
        taxable_amount:
          type: integer
          minimum: 0
          description: The amount on which this VAT is calculated, in [minor units](https://docs.monite.com/references/currencies#minor-units).
        value:
          type: integer
          maximum: 10000
          minimum: 0
          description: 'Percent minor units. Example: 12.5% is 1250.'
      type: object
      required:
        - amount
        - taxable_amount
        - value
    TotalVatAmountItemComponent:
      properties:
        amount:
          type: integer
          maximum: 9007199254740991
          minimum: 0
          description: The total VAT of all line items, in [minor units](https://docs.monite.com/references/currencies#minor-units).
        name:
          type: string
        value:
          type: number
          maximum: 10000
          minimum: 0
          description: 'Percent minor units. Example: 12.5% is 1250.'
      type: object
      required:
        - name
        - value
        - amount
    TransactionBulkObject:
      properties:
        id:
          type: string
          format: uuid
          description: A unique Monite-generated ID assigned to the created transaction.
      type: object
    TransactionBulkRequest:
      properties:
        data:
          items:
            $ref: '#/components/schemas/TransactionRequest'
          type: array
          description: A list of transactions to create.
      type: object
      required:
        - data
    TransactionBulkResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/TransactionBulkObject'
          type: array
          maxItems: 5000
          minItems: 1
        status:
          allOf:
            - $ref: '#/components/schemas/TransactionBulkStatusEnum'
          description: The overall status of the bulk creation operation.
      type: object
      required:
        - data
        - status
    TransactionBulkStatusEnum:
      type: string
      enum:
        - success
        - partial_success
        - error
    TransactionCursorFields:
      type: string
      enum:
        - created_at
        - updated_at
        - started_at
        - amount
        - merchant_amount
        - merchant_name
        - status
        - type
        - external_id
    TransactionPaymentMethod:
      oneOf:
        - $ref: '#/components/schemas/CardPaymentMethod'
        - $ref: '#/components/schemas/BankAccountPaymentMethod'
      discriminator:
        propertyName: type
        mapping:
          card: '#/components/schemas/CardPaymentMethod'
          bank_account: '#/components/schemas/BankAccountPaymentMethod'
    TransactionPaymentMethodTypeEnum:
      type: string
      enum:
        - card
        - bank_account
    TransactionRequest:
      properties:
        amount:
          type: integer
          description: The transaction amount in [minor units](https://docs.monite.com/references/currencies#minor-units). Positive values for in-flow, negative values for out-flow.
        currency:
          allOf:
            - $ref: '#/components/schemas/CurrencyEnum'
          description: ISO currency code.
          examples:
            - EUR
        description:
          type: string
          maxLength: 255
          description: A human-readable description of the transaction.
        entity_user_id:
          type: string
          format: uuid
          description: ID of the entity user who made the transaction, if applicable.
        external_id:
          type: string
          maxLength: 128
          description: External identifier for idempotency, if provided by the source system.
        merchant_amount:
          type: integer
          description: Original merchant transaction amount in minor units.
        merchant_currency:
          allOf:
            - $ref: '#/components/schemas/CurrencyEnum'
          description: ISO currency code for the `merchant_amount`.
        merchant_location:
          type: string
          maxLength: 128
          description: The merchant location.
          examples:
            - Berlin, Germany
        merchant_name:
          type: string
          maxLength: 128
          description: The merchant name.
          examples:
            - Acme Inc.
        partner_metadata:
          additionalProperties:
            type: string
          type: object
          description: Extensible key-value pairs for storing additional custom information for partner needs.
        payment_method:
          $ref: '#/components/schemas/TransactionPaymentMethod'
        started_at:
          type: string
          format: date-time
          description: Date and time when the transaction was initiated.
        status:
          allOf:
            - $ref: '#/components/schemas/TransactionStatusEnum'
          description: The current processing status of the transaction.
          default: created
        type:
          allOf:
            - $ref: '#/components/schemas/TransactionTypeEnum'
          description: The nature of the transaction.
      type: object
      required:
        - amount
        - currency
        - merchant_amount
        - merchant_currency
        - merchant_location
        - merchant_name
        - payment_method
        - type
    TransactionResponse:
      properties:
        id:
          type: string
          format: uuid
          description: A unique Monite-generated ID assigned to this transaction.
        amount:
          type: integer
          description: The transaction amount in [minor units](https://docs.monite.com/references/currencies#minor-units). Positive values for in-flow, negative values for out-flow.
        currency:
          allOf:
            - $ref: '#/components/schemas/CurrencyEnum'
          description: ISO currency code.
          examples:
            - EUR
        description:
          type: string
          maxLength: 255
          description: A human-readable description of the transaction.
        entity_id:
          type: string
          format: uuid
          description: ID of the entity that owns this resource.
        entity_user_id:
          type: string
          format: uuid
          description: ID of the entity user who made the transaction, if applicable.
        external_id:
          type: string
          maxLength: 128
          description: External identifier for idempotency, if provided by the source system.
        merchant_amount:
          type: integer
          description: Original merchant transaction amount in minor units.
        merchant_currency:
          allOf:
            - $ref: '#/components/schemas/CurrencyEnum'
          description: ISO currency code for the `merchant_amount`.
        merchant_location:
          type: string
          maxLength: 128
          description: The merchant location.
          examples:
            - Berlin, Germany
        merchant_name:
          type: string
          maxLength: 128
          description: The merchant name.
          examples:
            - Acme Inc.
        partner_metadata:
          additionalProperties:
            type: string
          type: object
          description: Extensible key-value pairs for storing additional custom information for partner needs.
        payment_method:
          $ref: '#/components/schemas/TransactionPaymentMethod'
        receipt_id:
          type: string
          description: ID of the related receipt from payables service, if any. This field is read-only and system-managed.
        started_at:
          type: string
          format: date-time
          description: Date and time when the transaction was initiated.
        status:
          allOf:
            - $ref: '#/components/schemas/TransactionStatusEnum'
          description: The current processing status of the transaction.
          default: created
        type:
          allOf:
            - $ref: '#/components/schemas/TransactionTypeEnum'
          description: The nature of the transaction.
      type: object
      required:
        - id
        - amount
        - currency
        - entity_id
        - merchant_amount
        - merchant_currency
        - merchant_location
        - merchant_name
        - payment_method
        - started_at
        - type
    TransactionResponseList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/TransactionResponse'
          type: array
        next_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the next page of results, or `null` if there is no next page (i.e. you've reached the last page).
        prev_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the previous page of results, or `null` if there is no previous page (i.e. you've reached the first page).
      type: object
      required:
        - data
      description: A paginated list of transactions.
    TransactionStatusEnum:
      type: string
      enum:
        - created
        - processing
        - succeeded
        - declined
        - refunded
        - failed
    TransactionTypeEnum:
      type: string
      enum:
        - capture
        - refund
        - cash_withdrawal
        - fee
        - adjustment
        - reversal
    TransactionUpdateRequest:
      properties:
        amount:
          type: integer
          description: The transaction amount in [minor units](https://docs.monite.com/references/currencies#minor-units). Positive values for in-flow, negative values for out-flow.
        currency:
          allOf:
            - $ref: '#/components/schemas/CurrencyEnum'
          description: ISO currency code.
          examples:
            - EUR
        description:
          type: string
          maxLength: 255
          description: A human-readable description of the transaction.
        entity_user_id:
          type: string
          format: uuid
          description: ID of the entity user who made the transaction, if applicable.
        external_id:
          type: string
          maxLength: 128
          description: External identifier for idempotency, if provided by the source system.
        merchant_amount:
          type: integer
          description: Original merchant transaction amount in minor units.
        merchant_currency:
          allOf:
            - $ref: '#/components/schemas/CurrencyEnum'
          description: ISO currency code for the `merchant_amount`.
        merchant_location:
          type: string
          maxLength: 128
          description: The merchant location.
          examples:
            - Berlin, Germany
        merchant_name:
          type: string
          maxLength: 128
          description: The merchant name.
          examples:
            - Acme Inc.
        partner_metadata:
          additionalProperties:
            type: string
          type: object
          description: Extensible key-value pairs for storing additional custom information for partner needs.
        payment_method:
          $ref: '#/components/schemas/TransactionPaymentMethod'
        started_at:
          type: string
          format: date-time
          description: Date and time when the transaction was initiated.
        status:
          allOf:
            - $ref: '#/components/schemas/TransactionStatusEnum'
          description: The current processing status of the transaction.
          default: created
        type:
          allOf:
            - $ref: '#/components/schemas/TransactionTypeEnum'
          description: The nature of the transaction.
      type: object
    Unit:
      properties:
        designation:
          type: string
          minLength: 1
          examples:
            - kg
        name:
          type: string
          minLength: 1
          examples:
            - Kilogram
      type: object
      required:
        - designation
        - name
    UnitListResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/UnitResponse'
          type: array
      additionalProperties: false
      type: object
      required:
        - data
    UnitRequest:
      properties:
        description:
          type: string
          maxLength: 200
        name:
          type: string
          maxLength: 100
          minLength: 1
      type: object
      required:
        - name
    UnitResponse:
      properties:
        id:
          type: string
          format: uuid
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        description:
          type: string
        name:
          type: string
      type: object
      required:
        - id
        - created_at
        - updated_at
        - name
    UnitUpdate:
      properties:
        description:
          type: string
          maxLength: 200
        name:
          type: string
          maxLength: 100
          minLength: 1
      additionalProperties: false
      type: object
    UpdateCounterpartBankAccount:
      properties:
        account_holder_name:
          type: string
          description: The name of the person or business that owns this bank account. Required for US bank accounts to accept ACH payments.
          example: Bob Jones
        account_number:
          type: string
          description: The bank account number. Required for US bank accounts to accept ACH payments. US account numbers contain 9 to 12 digits. UK account numbers typically contain 8 digits.
          example: "12345678"
        bic:
          type: string
          maxLength: 11
          description: The BIC/SWIFT code of the bank.
          example: DEUTDEFFXXX
        country:
          $ref: '#/components/schemas/AllowedCountries'
        currency:
          $ref: '#/components/schemas/CurrencyEnum'
        iban:
          type: string
          maxLength: 34
          description: The IBAN of the bank account.
          example: DE74500700100100000900
        name:
          type: string
          maxLength: 200
        partner_metadata:
          type: object
          description: Metadata for partner needs.
        routing_number:
          type: string
          description: The bank's routing transit number (RTN). Required for US bank accounts to accept ACH payments. US routing numbers consist of 9 digits.
        sort_code:
          type: string
          description: The bank's sort code.
          example: "123456"
      additionalProperties: false
      type: object
    UpdateCounterpartContactPayload:
      properties:
        address:
          allOf:
            - $ref: '#/components/schemas/CounterpartAddress'
          description: The address of a contact person.
        email:
          type: string
          format: email
          description: The email address of a contact person.
          example: contact@example.org
        first_name:
          type: string
          maxLength: 100
          description: The first name of a contact person.
          example: Mary
        last_name:
          type: string
          maxLength: 100
          description: The last name of a contact person.
          example: O'Brien
        phone:
          type: string
          maxLength: 100
          description: The phone number of a contact person
          example: "5551235476"
        title:
          type: string
          maxLength: 100
          description: 'The title or honorific of a contact person. Examples: Mr., Ms., Dr., Prof.'
          example: Ms.
      additionalProperties: false
      type: object
      description: The contact person for an organization.
    UpdateCounterpartEinvoicingCredentialSchema:
      properties:
        network_identifier:
          type: string
          maxLength: 255
          minLength: 1
        network_schema:
          $ref: '#/components/schemas/EinvoiceSchemaTypeEnum'
      additionalProperties: false
      type: object
    UpdateCreditNote:
      properties:
        attachments:
          items:
            $ref: '#/components/schemas/AttachmentRequest'
          type: array
          minItems: 1
          description: List of attachments to include with the receivable. Each attachment can be configured for email inclusion. If not provided, no attachments will be associated.
        counterpart_billing_address_id:
          type: string
          format: uuid
          description: Address of invoicing, need to state as a separate fields for some countries if it differs from address of a company.
        counterpart_contact:
          allOf:
            - $ref: '#/components/schemas/ReceivableCounterpartContact'
          description: Additional information about counterpart contacts.
        counterpart_shipping_address_id:
          type: string
          format: uuid
          description: Address where goods were shipped / where services were provided.
        document_rendering:
          allOf:
            - $ref: '#/components/schemas/DocumentRenderingSettings'
          description: Settings for rendering documents in PDF format, including settings for line items and specific document types.
        entity:
          $ref: '#/components/schemas/ReceivableEntityBase'
        footer:
          type: string
          description: |-
            Optional text displayed below the line items table in the PDF. The text can include [variables](https://docs.monite.com/advanced/variables).

            See also: `memo`, `commercial_condition_description`.
        line_items:
          $ref: '#/components/schemas/UpdateLineItemForCreditNote'
        memo:
          type: string
          description: |-
            An optional note for the customer that will be displayed above the line items table in the PDF. The text can include [variables](https://docs.monite.com/advanced/variables).

            See also: `footer`, `commercial_condition_description`.
        partner_metadata:
          type: object
          description: Metadata for partner needs
        project_id:
          type: string
          format: uuid
          description: ID of the [project](https://docs.monite.com/common/projects) associated with this credit note. If specified, the project name will be included in the header of the PDF credit note.
        tag_ids:
          items:
            type: string
            format: uuid
          type: array
          description: A list of IDs of user-defined tags (labels) assigned to this receivable.
      additionalProperties: false
      type: object
    UpdateCreditNotePayload:
      properties:
        credit_note:
          $ref: '#/components/schemas/UpdateCreditNote'
      additionalProperties: false
      type: object
      required:
        - credit_note
    UpdateCustomTemplateSchemaRequest:
      properties:
        body_template:
          type: string
          description: Jinja2 compatible string with email body
        language:
          allOf:
            - $ref: '#/components/schemas/LanguageCodeEnum'
          description: Lowercase ISO code of language
        name:
          type: string
          maxLength: 128
          minLength: 1
          description: Custom template name
        subject_template:
          type: string
          description: Jinja2 compatible string with email subject
      additionalProperties: false
      type: object
    UpdateEinvoicingAddress:
      properties:
        address_line1:
          type: string
          description: Street address line 1
        address_line2:
          type: string
          description: Street address line 2
        city:
          type: string
          description: City name
        postal_code:
          type: string
          description: Postal/ZIP code
        state:
          type: string
          description: State/Province/County
      additionalProperties: false
      type: object
      required:
        - address_line1
        - city
        - postal_code
    UpdateEntityAddressSchema:
      properties:
        city:
          anyOf:
            - type: string
              maxLength: 100
              minLength: 1
            - type: "null"
          description: A city (a full name) where the entity is registered
        line1:
          anyOf:
            - type: string
              maxLength: 200
              minLength: 1
            - type: "null"
          description: A street where the entity is registered
        line2:
          anyOf:
            - type: string
              maxLength: 100
              minLength: 1
            - type: "null"
          description: An alternative street used by the entity
        postal_code:
          anyOf:
            - type: string
              maxLength: 10
              minLength: 1
            - type: "null"
          description: A postal code of the address where the entity is registered
        state:
          anyOf:
            - type: string
              maxLength: 100
              minLength: 1
            - type: "null"
          description: A state in a country where the entity is registered
      additionalProperties: false
      type: object
    UpdateEntityBankAccountRequest:
      properties:
        account_holder_name:
          type: string
          maxLength: 200
          minLength: 1
          description: The name of the person or business that owns this bank account. If the account currency is GBP or USD, the holder name cannot be changed to an empty string.
          example: Cayla Lloyd
        display_name:
          type: string
          maxLength: 200
          minLength: 1
          description: User-defined name of this bank account, such as 'Primary account' or 'Savings account'.
          example: Primary account
      additionalProperties: false
      type: object
      description: Data that can be updated in existing bank accounts of an entity.
    UpdateEntityRequest:
      properties:
        address:
          anyOf:
            - $ref: '#/components/schemas/UpdateEntityAddressSchema'
            - type: "null"
          description: An address description of the entity
        email:
          anyOf:
            - type: string
              format: email
            - type: "null"
          description: An official email address of the entity
        individual:
          anyOf:
            - $ref: '#/components/schemas/OptionalIndividualSchema'
            - type: "null"
          description: A set of meta data describing the individual
        organization:
          anyOf:
            - $ref: '#/components/schemas/OptionalOrganizationSchema'
            - type: "null"
          description: A set of meta data describing the organization
        phone:
          anyOf:
            - type: string
              maxLength: 100
            - type: "null"
          description: The contact phone number of the entity. Required for US organizations to use payments.
        registration_authority:
          anyOf:
            - type: string
              maxLength: 100
              minLength: 1
            - type: "null"
          description: (Germany only) The name of the local district court (_Amtsgericht_) where the entity is registered. Required if `registration_number` is provided.
          examples:
            - Amtsgericht Charlottenburg
        registration_number:
          anyOf:
            - type: string
              maxLength: 100
              minLength: 1
            - type: "null"
          description: (Germany only) The entity's commercial register number (_Handelsregisternummer_) in the German Commercial Register, if available.
          examples:
            - HRB 202324
        tax_id:
          anyOf:
            - type: string
              maxLength: 30
              minLength: 1
            - type: "null"
          description: |-
            The new taxpayer identification number (tax ID) of the entity. Tax ID is required for entities that are not VAT-registered.

            **Note:** If an entity that is onboarded for [payments](https://docs.monite.com/payments/index) updates its tax ID, this entity must re-accept the Monite payments terms of service (ToS) to continue using payments. To accept the ToS, call [`PATCH /entities/{entity_id}/onboarding_data`](https://docs.monite.com/api/entity-onboarding-data/patch-entities-id-onboarding-data) and provide the new `tos_acceptance.date` timestamp. This timestamp must be later than the time when the `tax_id` was last updated.
        website:
          anyOf:
            - type: string
              maxLength: 2083
              minLength: 1
              format: uri
            - type: "null"
          description: A website of the entity
      additionalProperties: false
      type: object
      description: A schema for a request to update an entity
    UpdateEntityUserRequest:
      properties:
        email:
          anyOf:
            - type: string
              format: email
            - type: "null"
          description: The user's business email address.
          examples:
            - c.peters@example.com
        first_name:
          anyOf:
            - type: string
              maxLength: 255
            - type: "null"
          description: The user's first name.
          examples:
            - Casey
            - Casey
        last_name:
          anyOf:
            - type: string
              maxLength: 255
            - type: "null"
          description: The user's last name.
          examples:
            - Peters
            - Peters
        login:
          anyOf:
            - type: string
              maxLength: 255
            - type: "null"
          description: The new username for this user. Must be unique within the entity.
          examples:
            - caseyp
        phone:
          anyOf:
            - type: string
            - type: "null"
          description: The user's phone number.
          examples:
            - "+491729925904"
        role_id:
          anyOf:
            - type: string
              format: uuid
            - type: "null"
          description: ID of the new role to assign to this user. The new role takes effect immediately, existing access tokens of this user are not invalidated.
        title:
          anyOf:
            - type: string
              maxLength: 255
            - type: "null"
          description: The user's job title.
          examples:
            - Finance Manager
      additionalProperties: false
      type: object
    UpdateInvoice:
      properties:
        attachments:
          items:
            $ref: '#/components/schemas/AttachmentRequest'
          type: array
          minItems: 1
          description: List of attachments to include with the receivable. Each attachment can be configured for email inclusion. If not provided, no attachments will be associated.
        contact_id:
          type: string
          format: uuid
          description: Unique ID of the counterpart contact.
        counterpart_billing_address_id:
          type: string
          format: uuid
          description: Address of invoicing, need to state as a separate fields for some countries if it differs from address of a company.
        counterpart_einvoicing_credentials_id:
          type: string
          format: uuid
          description: E-invoicing credentials ID of the counterpart
        counterpart_id:
          type: string
          format: uuid
          description: Unique ID of the counterpart.
        counterpart_shipping_address_id:
          type: string
          format: uuid
          description: Address where goods were shipped / where services were provided.
        counterpart_vat_id_id:
          type: string
          format: uuid
          description: Counterpart VAT ID id
        currency:
          $ref: '#/components/schemas/CurrencyEnum'
        deduction_amount:
          type: integer
          maximum: 9007199254740991
          minimum: 0
          description: |-
            Deprecated and mutually exclusive with `deductions`. Use `deductions[].amount` instead.

            Specifies the amount ([minor units](https://docs.monite.com/references/currencies#minor-units)) of a special deduction or incentive that is applied to the total after VAT.

            The default PDF label for deductions is "Incentives", but can be changed via the partner setting `receivable.deduction_title`.
          deprecated: true
        deduction_memo:
          type: string
          description: |-
            Deprecated and mutually exclusive with `deductions`. Use `deductions[].memo` instead.

            A note with additional information about the deduction. It will be displayed below the deduction line in the PDF.
          deprecated: true
        deductions:
          items:
            $ref: '#/components/schemas/DeductionItem'
          type: array
          maxItems: 10
          description: |-
            A list of deductions and incentives to be applied after VAT. This is different from discounts which are applied before VAT.

            The `deductions` field is mutually exclusive with the deprecated `deduction_amount` and `deduction_memo` fields.
        discount:
          allOf:
            - $ref: '#/components/schemas/Discount'
          description: The discount for a receivable.
        document_id:
          type: string
          maxLength: 100
          minLength: 1
          description: The document number of the receivable, which will appear in the PDF document. Can be set manually only in the [non-compliant mode](https://docs.monite.com/accounts-receivable/regulatory-compliance/invoice-compliance). Otherwise (or if omitted), it will be generated automatically based on the entity's [document number customization](https://docs.monite.com/advanced/document-number-customization) settings when the document is issued.
          examples:
            - INV-0001
            - 2024-027
            - CUST/2024/00027
        document_rendering:
          allOf:
            - $ref: '#/components/schemas/DocumentRenderingSettings'
          description: Settings for rendering documents in PDF format, including settings for line items and specific document types.
        due_date:
          type: string
          format: date
          description: The date by which the invoice must be paid.
        entity:
          $ref: '#/components/schemas/ReceivableEntityBase'
        entity_bank_account_id:
          type: string
          format: uuid
          description: Entity bank account ID
        entity_vat_id_id:
          type: string
          format: uuid
          description: Entity VAT ID id
        footer:
          type: string
          description: |-
            Optional text displayed below the line items table in the PDF. The text can include [variables](https://docs.monite.com/advanced/variables).

            See also: `memo`, `commercial_condition_description`.
        fulfillment_date:
          type: string
          format: date
          description: |-
            The date when the goods are shipped or the service is provided. Can be a current, past, or future date.

            Some countries require the fulfillment date in invoices for regulatory compliance. In this case, if the fulfillment date was not provided by the user, it is automatically set to the invoice issue date once the invoice gets issued.

            In countries where the fulfillment date is optional, Monite does not auto-assign it if it was omitted by the user.
        is_einvoice:
          type: boolean
          description: Is this Invoice will be sent through E-invoice system
        line_items:
          items:
            $ref: '#/components/schemas/LineItemUpdate'
          type: array
        memo:
          type: string
          description: |-
            An optional note for the customer that will be displayed above the line items table in the PDF. The text can include [variables](https://docs.monite.com/advanced/variables).

            See also: `footer`, `commercial_condition_description`.
        network_credentials_id:
          type: string
          format: uuid
          description: E-invoicing network credentials ID of the entity
        overdue_reminder_id:
          type: string
          format: uuid
        partner_metadata:
          type: object
          description: Metadata for partner needs
        payment_page_url:
          type: string
          maxLength: 2083
          minLength: 1
          format: uri
          description: Link to your invoice's custom payment rails or external payment link.
        payment_reminder_id:
          type: string
          format: uuid
        payment_terms:
          $ref: '#/components/schemas/InlinePaymentTermsRequestPayload'
        payment_terms_id:
          type: string
          format: uuid
          description: Unique ID of the payment terms.
        project_id:
          type: string
          format: uuid
          description: ID of the [project](https://docs.monite.com/common/projects) associated with this invoice. If specified, the project name will be included in the header of the PDF invoice.
        tag_ids:
          items:
            type: string
            format: uuid
          type: array
          description: A list of IDs of user-defined tags (labels) assigned to this receivable.
        trade_name:
          type: string
          maxLength: 255
          description: Trade name of the entity
        vat_exempt:
          type: boolean
          description: Unused. To indicate that a line item is non-taxable or exempt from tax, use the `tax_status` field of that line item.
        vat_exemption_rationale:
          type: string
          description: The reason for the VAT exemption, if applicable.
        withholding_tax_rate:
          type: integer
          maximum: 10000
          minimum: 0
          description: The amount of tax withheld in percent minor units
      additionalProperties: false
      type: object
    UpdateInvoicePayload:
      properties:
        invoice:
          $ref: '#/components/schemas/UpdateInvoice'
      additionalProperties: false
      type: object
      required:
        - invoice
    UpdateIssuedInvoice:
      properties:
        attachments:
          items:
            $ref: '#/components/schemas/AttachmentRequest'
          type: array
          minItems: 1
          description: List of attachments to include with the receivable. Each attachment can be configured for email inclusion. If not provided, no attachments will be associated.
        contact_id:
          type: string
          format: uuid
          description: Unique ID of the counterpart contact.
        counterpart_id:
          type: string
          format: uuid
          description: Id of a new or updated counterpart
        counterpart_vat_id_id:
          type: string
          format: uuid
          description: Counterpart VAT ID id
        document_id:
          type: string
          maxLength: 100
          minLength: 1
          description: The document number of the receivable, which will appear in the PDF document. Can be set manually only in the [non-compliant mode](https://docs.monite.com/accounts-receivable/regulatory-compliance/invoice-compliance). Otherwise (or if omitted), it will be generated automatically based on the entity's [document number customization](https://docs.monite.com/advanced/document-number-customization) settings when the document is issued.
          examples:
            - INV-0001
            - 2024-027
            - CUST/2024/00027
        document_rendering:
          allOf:
            - $ref: '#/components/schemas/DocumentRenderingSettings'
          description: Settings for rendering documents in PDF format, including settings for line items and specific document types.
        due_date:
          type: string
          format: date
          description: |-
            The date by which the invoice must be paid. Can be updated only in the [non-compliant mode](https://docs.monite.com/accounts-receivable/regulatory-compliance/invoice-compliance).

            **Note:** Monite does not recalculate the invoice payment terms and payment reminder schedule when you update the due date for an issued invoice.
        entity:
          anyOf:
            - $ref: '#/components/schemas/ReceivableEntityOrganizationRequest'
            - $ref: '#/components/schemas/ReceivableEntityIndividualRequest'
        entity_address:
          $ref: '#/components/schemas/ReceivableEntityAddressSchema'
        entity_vat_id_id:
          type: string
          format: uuid
          description: Entity VAT ID id
        footer:
          type: string
          description: |-
            Optional text displayed below the line items table in the PDF. The text can include [variables](https://docs.monite.com/advanced/variables).

            See also: `memo`, `commercial_condition_description`.
        fulfillment_date:
          type: string
          format: date
          description: |-
            The date when the goods are shipped or the service is provided. Can be a current, past, or future date.

            Some countries require the fulfillment date in invoices for regulatory compliance. In this case, if the fulfillment date was not provided by the user, it is automatically set to the invoice issue date once the invoice gets issued.

            In countries where the fulfillment date is optional, Monite does not auto-assign it if it was omitted by the user.
        issue_date:
          type: string
          format: date-time
          description: |-
            Date and time when the invoice was issued. Can be updated only in the [non-compliant mode](https://docs.monite.com/accounts-receivable/regulatory-compliance/invoice-compliance).

            **Note:** Monite does not recalculate the invoice due date or payment terms when you update the issue date.
        memo:
          type: string
          description: |-
            An optional note for the customer that will be displayed above the line items table in the PDF. The text can include [variables](https://docs.monite.com/advanced/variables).

            See also: `footer`, `commercial_condition_description`.
        overdue_reminder_id:
          type: string
          format: uuid
        partner_metadata:
          type: object
          description: Metadata for partner needs
        payment_reminder_id:
          type: string
          format: uuid
        payment_terms:
          $ref: '#/components/schemas/InlinePaymentTermsRequestPayload'
        payment_terms_id:
          type: string
          format: uuid
        project_id:
          type: string
          format: uuid
          description: ID of the [project](https://docs.monite.com/common/projects) associated with this invoice. If specified, the project name will be included in the header of the PDF invoice.
        tag_ids:
          items:
            type: string
            format: uuid
          type: array
          description: A list of IDs of user-defined tags (labels) assigned to this receivable.
          default: []
      additionalProperties: false
      type: object
    UpdateIssuedInvoicePayload:
      properties:
        issued_invoice:
          $ref: '#/components/schemas/UpdateIssuedInvoice'
      additionalProperties: false
      type: object
      required:
        - issued_invoice
    UpdateLineItemForCreditNote:
      additionalProperties:
        $ref: '#/components/schemas/UpdateProductForCreditNote'
      type: object
      description: Line item with given product id can be changed only once
      example:
        6639ac63-0622-4bd9-b340-31c25e2096b8:
          quantity: 5
          price_diff: 100
          old_price: 400
    UpdateLineItems:
      properties:
        data:
          items:
            $ref: '#/components/schemas/LineItem'
          type: array
          description: The new list of line items that will replace existing line items.
      additionalProperties: false
      type: object
      required:
        - data
    UpdateMeEntityUserRequest:
      properties:
        email:
          anyOf:
            - type: string
              format: email
            - type: "null"
          description: The user's business email address.
          examples:
            - c.peters@example.com
        first_name:
          anyOf:
            - type: string
              maxLength: 255
            - type: "null"
          description: The user's first name.
          examples:
            - Casey
            - Casey
        last_name:
          anyOf:
            - type: string
              maxLength: 255
            - type: "null"
          description: The user's last name.
          examples:
            - Peters
            - Peters
        phone:
          anyOf:
            - type: string
            - type: "null"
          description: The user's phone number.
          examples:
            - "+491729925904"
        title:
          anyOf:
            - type: string
              maxLength: 255
            - type: "null"
          description: The user's job title.
          examples:
            - Finance Manager
      additionalProperties: false
      type: object
    UpdatePaymentIntentPayload:
      properties:
        amount:
          type: integer
          description: The new payment amount in [minor units](https://docs.monite.com/references/currencies#minor-units).
          examples:
            - 125000
      additionalProperties: false
      type: object
      required:
        - amount
    UpdateProductForCreditNote:
      properties:
        old_price:
          type: integer
          maximum: 9007199254740991
          minimum: 1
          description: The old price of the line item. Used to choose for which line item new price should be applied
        price_diff:
          type: integer
          maximum: 9007199254740991
          minimum: 1
          description: The price diff of the line item, i.e. applied discount
        quantity:
          type: number
          maximum: 2147483647
          minimum: 1
          description: The quantity of each of the goods, materials, or services listed in the receivable.
      additionalProperties: false
      type: object
      required:
        - quantity
    UpdatePurchaseOrderPayloadSchema:
      properties:
        counterpart_address_id:
          type: string
          format: uuid
          description: The ID of counterpart address object stored in counterparts service. If not provided, counterpart's default address is used.
        counterpart_id:
          type: string
          format: uuid
          description: Counterpart unique ID.
        entity_vat_id_id:
          type: string
          format: uuid
          description: Entity VAT ID identifier that applied to purchase order
        items:
          items:
            $ref: '#/components/schemas/PurchaseOrderItem'
          type: array
          description: List of item to purchase
        message:
          type: string
          description: Msg which will be send to counterpart for who the purchase order is issued.
        project_id:
          type: string
          format: uuid
          description: Project ID of a purchase order
        valid_for_days:
          type: integer
          minimum: 1
          description: Number of days for which purchase order is valid
      type: object
      description: Represents an Accounts Purchase Order document created by entity.
    UpdateQuote:
      properties:
        attachments:
          items:
            $ref: '#/components/schemas/AttachmentRequest'
          type: array
          minItems: 1
          description: List of attachments to include with the receivable. Each attachment can be configured for email inclusion. If not provided, no attachments will be associated.
        contact_id:
          type: string
          format: uuid
          description: Unique ID of the counterpart contact.
        counterpart_billing_address_id:
          type: string
          format: uuid
          description: Address of invoicing, need to state as a separate fields for some countries if it differs from address of a company.
        counterpart_id:
          type: string
          format: uuid
          description: Unique ID of the counterpart.
        counterpart_shipping_address_id:
          type: string
          format: uuid
          description: Address where goods were shipped / where services were provided.
        counterpart_vat_id_id:
          type: string
          format: uuid
          description: Counterpart VAT ID id
        currency:
          $ref: '#/components/schemas/CurrencyEnum'
        deduction_amount:
          type: integer
          maximum: 9007199254740991
          minimum: 0
          description: |-
            Deprecated and mutually exclusive with `deductions`. Use `deductions[].amount` instead.

            Specifies the amount ([minor units](https://docs.monite.com/references/currencies#minor-units)) of a special deduction or incentive that is applied to the total after VAT.

            The default PDF label for deductions is "Incentives", but can be changed via the partner setting `receivable.deduction_title`.
          deprecated: true
        deduction_memo:
          type: string
          description: |-
            Deprecated and mutually exclusive with `deductions`. Use `deductions[].memo` instead.

            A note with additional information about the deduction. It will be displayed below the deduction line in the PDF.
          deprecated: true
        deductions:
          items:
            $ref: '#/components/schemas/DeductionItem'
          type: array
          maxItems: 10
          description: |-
            A list of deductions and incentives to be applied after VAT. This is different from discounts which are applied before VAT.

            The `deductions` field is mutually exclusive with the deprecated `deduction_amount` and `deduction_memo` fields.
        discount:
          allOf:
            - $ref: '#/components/schemas/Discount'
          description: The discount for a receivable.
        document_id:
          type: string
          maxLength: 100
          minLength: 1
          description: The document number of the receivable, which will appear in the PDF document. Can be set manually only in the [non-compliant mode](https://docs.monite.com/accounts-receivable/regulatory-compliance/invoice-compliance). Otherwise (or if omitted), it will be generated automatically based on the entity's [document number customization](https://docs.monite.com/advanced/document-number-customization) settings when the document is issued.
          examples:
            - INV-0001
            - 2024-027
            - CUST/2024/00027
        document_rendering:
          allOf:
            - $ref: '#/components/schemas/DocumentRenderingSettings'
          description: Settings for rendering documents in PDF format, including settings for line items and specific document types.
        due_date:
          type: string
          format: date
          description: Unused. The expiration date of a quote is specified by `expiry_date` instead.
        entity:
          $ref: '#/components/schemas/ReceivableEntityBase'
        entity_bank_account_id:
          type: string
          format: uuid
          description: Entity bank account ID
        entity_vat_id_id:
          type: string
          format: uuid
          description: Entity VAT ID id
        expiry_date:
          type: string
          format: date
          description: The date (in ISO 8601 format) until which the quote is valid.
        footer:
          type: string
          description: |-
            Optional text displayed below the line items table in the PDF. The text can include [variables](https://docs.monite.com/advanced/variables).

            See also: `memo`, `commercial_condition_description`.
        line_items:
          items:
            $ref: '#/components/schemas/LineItemUpdate'
          type: array
        memo:
          type: string
          description: |-
            An optional note for the customer that will be displayed above the line items table in the PDF. The text can include [variables](https://docs.monite.com/advanced/variables).

            See also: `footer`, `commercial_condition_description`.
        partner_metadata:
          type: object
          description: Metadata for partner needs
        payment_terms:
          $ref: '#/components/schemas/InlinePaymentTermsRequestPayload'
        payment_terms_id:
          type: string
          format: uuid
          description: Unique ID of the payment terms.
        project_id:
          type: string
          format: uuid
          description: ID of the [project](https://docs.monite.com/common/projects) associated with this quote. If specified, the project name will be included in the header of the PDF quote.
        quote_accept_page_url:
          type: string
          maxLength: 65536
          minLength: 1
          format: uri
          description: Link for custom quote accept page
        signature_required:
          type: boolean
          description: Whether the counterpart's signature is required to accept this quote.
        tag_ids:
          items:
            type: string
            format: uuid
          type: array
          description: A list of IDs of user-defined tags (labels) assigned to this receivable.
        trade_name:
          type: string
          maxLength: 255
          description: Trade name of the entity
        vat_exempt:
          type: boolean
          description: Unused. To indicate that a line item is non-taxable or exempt from tax, use the `tax_status` field of that line item.
        vat_exemption_rationale:
          type: string
          description: The reason for the VAT exemption, if applicable.
        withholding_tax_rate:
          type: integer
          maximum: 10000
          minimum: 0
          description: The amount of tax withheld in percent minor units
      additionalProperties: false
      type: object
    UpdateQuotePayload:
      properties:
        quote:
          $ref: '#/components/schemas/UpdateQuote'
      additionalProperties: false
      type: object
      required:
        - quote
    UpdateRecurrencePayload:
      properties:
        automation_level:
          allOf:
            - $ref: '#/components/schemas/AutomationLevel'
          description: |
            Controls how invoices are processed when generated:
            - "draft": Creates invoices in draft status, requiring manual review, issuing, and sending
            - "issue": Automatically issues invoices but requires manual sending
            - "issue_and_send": Fully automates the process (creates, issues, and sends invoices)

            Default: "issue" (or "issue_and_send" if subject_text and body_text are provided)

            Note: When using "issue_and_send", both subject_text and body_text must be provided.
        body_text:
          type: string
          minLength: 1
          description: The body text for the email that will be sent with the recurring invoice.
        day_of_month:
          allOf:
            - $ref: '#/components/schemas/DayOfMonth'
          description: Deprecated, use `start_date` instead
          deprecated: true
        end_date:
          type: string
          format: date
          description: The end date of the recurring invoice, in the `yyyy-mm-dd` format. The end date is inclusive, that is, the last invoice will be created on this date if the last occurrence falls on this date. `end_date` is mutually exclusive with `max_occurrences`. Either `end_date` or `max_occurrences` must be specified.
        end_month:
          type: integer
          maximum: 12
          minimum: 1
          description: Deprecated, use `end_date` instead
          deprecated: true
        end_year:
          type: integer
          maximum: 2077
          description: Deprecated, use `end_date` instead
          deprecated: true
        frequency:
          allOf:
            - $ref: '#/components/schemas/RecurrenceFrequency'
          description: How often the invoice will be created.
        interval:
          type: integer
          maximum: 100
          minimum: 1
          description: The interval between each occurrence of the invoice. For example, when using monthly frequency, an interval of 1 means invoices will be created every month, an interval of 2 means invoices will be created every 2 months.
        max_occurrences:
          type: integer
          maximum: 1000
          minimum: 1
          description: How many times the recurring invoice will be created. The recurrence will stop after this number is reached. `max_occurrences` is mutually exclusive with `end_date`. Either `max_occurrences` or `end_date` must be specified.
        recipients:
          allOf:
            - $ref: '#/components/schemas/Recipients'
          description: An object containing the recipients (To, CC, BCC) of the recurring invoices. Can be omitted if the base invoice has the counterpart contact email specified in the `counterpart_contact.email` field.
        start_date:
          type: string
          format: date
          description: The date when the first invoice will be created, in the `yyyy-mm-dd` format. Cannot be a past date. Subsequent invoice dates will be calculated based on `start_date`, `frequency`, and `interval`.
        subject_text:
          type: string
          minLength: 1
          description: The subject for the email that will be sent with the recurring invoice.
      additionalProperties: false
      type: object
    UpdateRoleRequest:
      properties:
        name:
          anyOf:
            - type: string
              maxLength: 255
              minLength: 1
            - type: "null"
          description: The new name for this role. Role names are case-sensitive, can contain only ASCII characters, and must be unique.
        permissions:
          anyOf:
            - $ref: '#/components/schemas/BizObjectsSchema-Input'
            - type: "null"
          description: Access permissions
      additionalProperties: false
      type: object
    UpdateTextTemplatePayload:
      properties:
        name:
          type: string
        template:
          type: string
      additionalProperties: false
      type: object
    UpdateWebhookSubscriptionRequest:
      properties:
        event_types:
          anyOf:
            - items:
                type: string
              type: array
            - type: "null"
          description: 'A list of [events](https://docs.monite.com/references/webhooks/index#events) to subscribe to. If set to an empty array, the subscription includes all events triggered by the specified `object_type`. '
        object_type:
          anyOf:
            - $ref: '#/components/schemas/WebhookObjectType'
            - type: "null"
          description: |-
            The [object type](https://docs.monite.com/references/webhooks/index#events) to whose events you want to subscribe.

            To subscribe to events from multiple object types, create a separate subscription for each object type.
        url:
          anyOf:
            - type: string
              maxLength: 2083
              minLength: 1
              format: uri
            - type: "null"
          description: |-
            An HTTPS URL to which Monite will send webhooks. This URL must be accessible over the public Internet, accept POST requests, and respond with status code 200. It must be a direct URL (no redirects).

            The same URL can be used by multiple webhook subscriptions.
      additionalProperties: false
      type: object
    UploadFile:
      properties:
        file:
          type: string
          format: binary
          description: The file to upload.
        file_type:
          $ref: '#/components/schemas/AllowedFileTypes'
          description: |-
            The intended purpose of the file. Possible values:

             * `attachments` - supplemental attachments for accounts receivable invoices, quotes, and credit notes.
             * `identity_documents` - company registration documents or a person's identity documents for payments onboarding.
             * `additional_identity_documents` - documents that verify a person's address.

            Other enum values are not supposed to be used directly.
      type: object
      required:
        - file
        - file_type
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
        msg:
          type: string
        type:
          type: string
      type: object
      required:
        - loc
        - msg
        - type
    Variable:
      properties:
        description:
          type: string
        name:
          type: string
      type: object
      required:
        - description
        - name
    VariablesObject:
      properties:
        object_subtype:
          $ref: '#/components/schemas/DocumentTypeEnum'
        object_type:
          type: string
        variables:
          items:
            $ref: '#/components/schemas/Variable'
          type: array
      type: object
      required:
        - object_subtype
        - object_type
        - variables
    VariablesObjectList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/VariablesObject'
          type: array
      type: object
      required:
        - data
    VariablesType:
      type: string
      enum:
        - quote
        - invoice
        - credit_note
        - discount_reminder
        - final_reminder
        - overdue_reminder
    VatIDTypeEnum:
      type: string
      enum:
        - ae_trn
        - au_abn
        - au_arn
        - bg_uic
        - br_cnpj
        - br_cpf
        - ca_bn
        - ca_gst_hst
        - ca_pst_bc
        - ca_pst_mb
        - ca_pst_sk
        - ca_qst
        - ch_vat
        - cl_tin
        - es_cif
        - eu_oss_vat
        - eu_vat
        - gb_vat
        - ge_vat
        - hk_br
        - hu_tin
        - id_npwp
        - il_vat
        - in_gst
        - is_vat
        - jp_cn
        - jp_rn
        - kr_brn
        - li_uid
        - mx_rfc
        - my_frp
        - my_itn
        - my_sst
        - no_vat
        - nz_gst
        - ru_inn
        - ru_kpp
        - sa_vat
        - sg_gst
        - sg_uen
        - si_tin
        - th_vat
        - tw_vat
        - ua_vat
        - us_ein
        - za_vat
        - unknown
    VatModeEnum:
      type: string
      enum:
        - exclusive
        - inclusive
    VatRateComponent:
      properties:
        name:
          type: string
          maxLength: 64
          description: Display name of the Tax.
        value:
          type: number
          maximum: 10000
          minimum: 0
          description: 'Percent multiplied by a 100. Example: 12.125% is 1212.5. Will be rounded to 2 decimal places'
      additionalProperties: false
      type: object
      required:
        - name
        - value
    VatRateCreator:
      type: string
      enum:
        - monite
        - accounting
    VatRateListResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/VatRateResponse'
          type: array
      additionalProperties: false
      type: object
      required:
        - data
    VatRateResponse:
      properties:
        id:
          type: string
          format: uuid
          description: A unique ID assigned to this VAT rate. Use this ID as the value of the `line_items[].vat_rate_id` field in invoices and quotes.
        created_at:
          type: string
          format: date-time
          description: UTC date and time when this VAT rate was recorded in Monite.
        updated_at:
          type: string
          format: date-time
          description: UTC date and time when this VAT rate was last updated by Monite.
        components:
          items:
            $ref: '#/components/schemas/VatRateComponent'
          type: array
          maxItems: 3
          minItems: 1
          description: Sub-taxes included in the VAT.
        country:
          allOf:
            - $ref: '#/components/schemas/AllowedCountries'
          description: Two-letter ISO country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
          example: DE
        created_by:
          allOf:
            - $ref: '#/components/schemas/VatRateCreator'
          description: Unused.
          default: monite
          deprecated: true
        status:
          allOf:
            - $ref: '#/components/schemas/VatRateStatusEnum'
          description: 'Status for this vat rate: active | inactive.'
        valid_from:
          type: string
          format: date
          description: Date starting from when this rate can be used.
        valid_until:
          type: string
          format: date
          description: Date when this rate was depreciated, after this date rate cannot be used.
        value:
          type: integer
          maximum: 10000
          minimum: 0
          description: VAT percentage multiplied by 100. For example, 12.5% is represented as 1250.
      type: object
      required:
        - id
        - created_at
        - updated_at
        - country
        - value
    VatRateStatusEnum:
      type: string
      enum:
        - active
        - inactive
    VerificationError:
      properties:
        code:
          type: string
        details:
          type: string
      additionalProperties: false
      type: object
      required:
        - code
        - details
    VerificationStatusEnum:
      type: string
      enum:
        - enabled
        - disabled
        - pending
    VerifyResponse:
      properties:
        id:
          type: string
          format: uuid
          description: Entry UUID
        domain:
          type: string
          format: hostname
          description: The domain name.
        status:
          type: string
      type: object
      required:
        - id
        - domain
        - status
    WCBusinessStatus:
      type: string
      enum:
        - NEW
        - INPUT_REQUIRED
        - ONBOARDED
      description: |-
        - NEW: A business has been created within Kanmon
        - ONBOARDED: A business has completed all of the onboarding steps within Kanmon and is now awaiting underwriting.
        - INPUT_REQUIRED: A business will be asked to provide required data
    WCInvoiceStatus:
      type: string
      enum:
        - DRAFT
        - NEW
        - FUNDED
        - PAID
        - LATE
        - REJECTED
        - DEFAULTED
      description: |-
        - DRAFT: The invoice is in draft state. The business has not submitted the invoice for funding.
        - NEW: The business has submitted an invoice and it is under review.
        - FUNDED: The funds for the invoice have been disbursed. The business is now expected to pay back the funds.
        - PAID: A payment was made that fully paid off an outstanding invoice.
        - LATE: A payment was not made towards an outstanding invoice.
        - REJECTED: An invoice was rejected during the funding step.
        - DEFAULTED: A payment was not made towards an outstanding invoice.
    WCOfferStatus:
      type: string
      enum:
        - NEW
        - ACCEPTED
        - EXPIRED
        - CURRENT
        - LATE
        - CLOSED
        - DEFAULTED
      description: |-
        - NEW: A new offer has been extended to the business.
        - ACCEPTED: Business has accepted an offer and is waiting on the closing process.
        - EXPIRED: Business has not accepted the offer, and the offer has expired.
        - CURRENT: A loan has been originated and does not currently have any outstanding delayed payments.
        - LATE: One or more repayments on the issued product have failed.
        - CLOSED: The issued product is no longer available to the business.
        - DEFAULTED: The business has failed to meet agreed-upon terms of the loan agreement.
    WCRepaymentType:
      type: string
      enum:
        - MULTIPLE_DURATION
        - FIXED_DURATION
        - FIXED_DATE
      description: |-
        - MULTIPLE_DURATION: The business can repay the loan over multiple durations.
        - FIXED_DURATION: The business must repay the loan over a fixed duration.
        - FIXED_DATE: The business must repay the loan on a fixed date.
    WebhookDeliveryCursorFields:
      type: string
      enum:
        - created_at
        - updated_at
    WebhookDeliveryPaginationResource:
      properties:
        data:
          items:
            $ref: '#/components/schemas/WebhookDeliveryResource'
          type: array
          description: A set of webhooks returned per page
        next_pagination_token:
          anyOf:
            - type: string
            - type: "null"
          description: A token that can be sent in the `pagination_token` query parameter to get the next page of results, or `null` if there is no next page (i.e. you've reached the last page).
        prev_pagination_token:
          anyOf:
            - type: string
            - type: "null"
          description: A token that can be sent in the `pagination_token` query parameter to get the previous page of results, or `null` if there is no previous page (i.e. you've reached the first page).
      additionalProperties: false
      type: object
      required:
        - data
    WebhookDeliveryResource:
      properties:
        id:
          type: string
          format: uuid
        event_id:
          type: string
          format: uuid
        requests_made_count:
          type: integer
        response:
          anyOf:
            - type: string
            - type: "null"
        response_status_code:
          anyOf:
            - type: integer
            - type: "null"
        url:
          type: string
          maxLength: 2083
          minLength: 1
          format: uri
        was_successful:
          anyOf:
            - type: boolean
            - type: "null"
      additionalProperties: false
      type: object
      required:
        - id
        - event_id
        - requests_made_count
        - url
    WebhookObjectType:
      type: string
      enum:
        - account
        - accounting_connection
        - approval
        - approval_request
        - approval_policy
        - approval_policy_process
        - batch_payment
        - comment
        - counterpart
        - counterpart_address
        - counterpart_bank_account
        - counterpart_contact_person
        - counterpart_partner_metadata
        - counterpart_tax_id
        - entity
        - entity_bank_account
        - entity_settings
        - entity_user
        - export
        - overdue_reminder
        - partner_settings
        - payable
        - payables_credit_note
        - payables_purchase_order
        - payable.line_item
        - payment
        - payment_intent
        - payment_link
        - payment_reminder
        - product
        - project
        - receivable
        - recurrence
        - role
        - tag
        - todo_task
        - workflow
        - workflow_pipeline
        - ocr_task
        - delivery_note
        - receipt
        - transaction
    WebhookSubscriptionCursorFields:
      type: string
      enum:
        - created_at
        - updated_at
    WebhookSubscriptionPaginationResource:
      properties:
        data:
          items:
            $ref: '#/components/schemas/WebhookSubscriptionResource'
          type: array
          description: A set of webhook settings of different types returned per page
        next_pagination_token:
          anyOf:
            - type: string
            - type: "null"
          description: A token that can be sent in the `pagination_token` query parameter to get the next page of results, or `null` if there is no next page (i.e. you've reached the last page).
        prev_pagination_token:
          anyOf:
            - type: string
            - type: "null"
          description: A token that can be sent in the `pagination_token` query parameter to get the previous page of results, or `null` if there is no previous page (i.e. you've reached the first page).
      additionalProperties: false
      type: object
      required:
        - data
    WebhookSubscriptionResource:
      properties:
        id:
          type: string
          format: uuid
          description: A unique URL assigned to this webhook subscription. This ID is also included in the webhook data as the `webhook_subscription_id` field.
        event_types:
          items:
            type: string
          type: array
          examples:
            - - created
              - onboarding_requirements.updated
              - onboarding_requirements.status_updated
          description: '[Events](https://docs.monite.com/references/webhooks/index#events) included in this webhook subscription. An empty array means the subscription includes all events triggered by the specified `object_type`. '
        object_type:
          $ref: '#/components/schemas/WebhookObjectType'
          examples:
            - entity
          description: The object type associated with this webhook subscription.
        status:
          $ref: '#/components/schemas/WebhookSubscriptionStatus'
        url:
          type: string
          maxLength: 2083
          minLength: 1
          format: uri
          examples:
            - https://example.com/your-webhook-listener
          description: URL to which the webhooks are sent. The same URL can be used by multiple webhook subscriptions.
      type: object
      required:
        - id
        - event_types
        - object_type
        - status
        - url
    WebhookSubscriptionResourceWithSecret:
      properties:
        id:
          type: string
          format: uuid
          description: A unique URL assigned to this webhook subscription. This ID is also included in the webhook data as the `webhook_subscription_id` field.
        event_types:
          items:
            type: string
          type: array
          examples:
            - - created
              - onboarding_requirements.updated
              - onboarding_requirements.status_updated
          description: '[Events](https://docs.monite.com/references/webhooks/index#events) included in this webhook subscription. An empty array means the subscription includes all events triggered by the specified `object_type`. '
        object_type:
          $ref: '#/components/schemas/WebhookObjectType'
          examples:
            - entity
          description: The object type associated with this webhook subscription.
        secret:
          type: string
          examples:
            - whsec_Iw3mr...
          description: The webhook signing secret for this subscriptions. You can use it to [verify webhook signatures](https://docs.monite.com/references/webhooks/signatures).
        status:
          $ref: '#/components/schemas/WebhookSubscriptionStatus'
        url:
          type: string
          maxLength: 2083
          minLength: 1
          format: uri
          examples:
            - https://example.com/your-webhook-listener
          description: URL to which the webhooks are sent. The same URL can be used by multiple webhook subscriptions.
      type: object
      required:
        - id
        - event_types
        - object_type
        - secret
        - status
        - url
    WebhookSubscriptionStatus:
      type: string
      enum:
        - enabled
        - disabled
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer
  responses:
    429TooManyRequests:
      description: API rate limit has been exceeded. Check the response headers for the rate limit information.
      content:
        application/json:
          example:
            message: API rate limit exceeded
      headers:
        RateLimit-Limit:
          description: The number of requests allowed per second. Same as `X-RateLimit-Limit-Second`.
          schema:
            type: integer
            examples:
              - 30
        RateLimit-Remaining:
          description: The number of available requests remaining in the current second. Same as `X-RateLimit-Remaining-Second`.
          schema:
            type: integer
            examples:
              - 0
        RateLimit-Reset:
          description: The time remaining, in seconds, until the rate limit quota is reset. Usually 1 second.
          schema:
            type: integer
            examples:
              - 1
        Retry-After:
          description: How many seconds the client should wait before making a follow-up request.
          schema:
            type: integer
            examples:
              - 1
        X-RateLimit-Limit-Second:
          description: The number of requests allowed per second. Same as `RateLimit-Limit`.
          schema:
            type: integer
            examples:
              - 30
        X-RateLimit-Remaining-Second:
          description: The number of available requests remaining in the current second. Same as `RateLimit-Remaining`.
          schema:
            type: integer
            examples:
              - 0
tags:
  - name: Access tokens
  - name: Accounting connections
  - name: Accounting data pull
  - name: Accounting synchronized records
  - name: Accounting tax rates
  - name: Analytics
  - name: Approval policies
  - name: Approval requests
  - name: Comments
  - name: Cost centers
  - name: Counterpart VAT IDs
  - name: Counterpart addresses
  - name: Counterpart bank accounts
  - name: Counterpart contacts
  - name: Counterpart e-invoicing credentials
  - name: Counterparts
  - name: Credit notes
  - name: Custom VAT rates
  - name: Data export
  - name: Data export - extra data
  - name: Delivery notes
  - name: E-invoicing connections
  - name: E-invoicing search
  - name: Entities
  - name: Entity VAT IDs
  - name: Entity bank account verifications
  - name: Entity bank accounts
  - name: Entity onboarding data
  - name: Entity persons
  - name: Entity users
  - name: Events
  - name: Files
  - name: Financing
  - name: Ledger accounts
  - name: Mail templates
  - name: Mailbox domains
  - name: Mailboxes
  - name: Measure units
  - name: OCR
  - name: Onboarding documents
  - name: Onboarding requirements
  - name: Overdue reminders
  - name: PDF templates
  - name: Partner settings
  - name: Payable line items
  - name: Payables
  - name: Payment intents
  - name: Payment links
  - name: Payment methods
  - name: Payment records
  - name: Payment reminders
  - name: Payment terms
  - name: Products
  - name: Projects
  - name: Purchase orders
  - name: Receipts
  - name: Receivables
  - name: Recurrences
  - name: Roles
  - name: System health
  - name: Tags
  - name: Text templates
  - name: Transactions
  - name: VAT rates
  - name: Webhook deliveries
  - name: Webhook subscriptions
