AppZen Invoices API

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

Operations 3

POST /invoice Creates/Updates an invoice
POST /invoice/search Returns all invoices uuid that match the search criteria
GET /invoice/{uuid} Returns an invoice's details

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/appzen-invoices-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

appzen-invoices-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Autonomous AP APIs Chart of Accounts Invoices API
  description: Public APIs for integrating with Autonomous AP
  version: 2.0.3
servers:
- url: https://<env>.appzen.com/dictionary-data-services
security:
- API Key Header: []
  Customer Id Header: []
  Customer Key Header: []
tags:
- name: Invoices
paths:
  /invoice:
    post:
      tags:
      - Invoices
      summary: Creates/Updates an invoice
      description: This will create a new invoice in AppZen referred by uuid. This invoice will be processed further by AppZen for extraction and validation. When there already exists an invoice (invoice_id), then the operation is an update (the `status` would be `UPDATED` in this case).
      parameters:
      - $ref: '#/components/parameters/invoice-json-schema'
      - in: header
        name: historical
        required: false
        description: Flag to indicate whether the invoice is historical or not
        schema:
          type: boolean
          default: false
      - in: header
        name: bypass-coa-lookup
        required: false
        description: Flag to indicate whether the Chart of Account segments should be identified/constructed by parsing gl_code
        schema:
          type: boolean
          default: false
      responses:
        200:
          description: Updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/uuid-updated'
        201:
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/uuid'
        400:
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/http-400-error-response'
        401:
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/http-401-error-response'
        403:
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/http-403-error-response'
        404:
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/http-404-error-response'
        500:
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/http-500-error-response'
  /invoice/search:
    post:
      tags:
      - Invoices
      summary: Returns all invoices uuid that match the search criteria
      description: Returns a list of the invoice uuids that match the status, from-date and end-date
      parameters:
      - $ref: '#/components/parameters/find-invoice-query-spec'
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/find-invoice-result-spec'
        400:
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/http-400-error-response'
        401:
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/http-401-error-response'
        403:
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/http-403-error-response'
        404:
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/http-404-error-response'
        500:
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/http-500-error-response'
  /invoice/{uuid}:
    get:
      tags:
      - Invoices
      summary: Returns an invoice's details
      description: Returns the details of an invoice by uuid
      parameters:
      - $ref: '#/components/parameters/uuid'
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/invoice-get-json-schema'
        400:
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/http-400-error-response'
        401:
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/http-401-error-response'
        403:
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/http-403-error-response'
        404:
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/http-404-error-response'
        500:
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/http-500-error-response'
components:
  schemas:
    invoice-line-condition:
      type: object
      description: Represents a PO condition associated with an invoice line (used for subsequent invoice types like freight, tax, etc.)
      properties:
        scope:
          type: string
          enum:
          - HEADER
          - LINE
          example: LINE
          description: Whether this charge originated from a header-level PO condition (HEADER) or a line-level PO condition (LINE). Used to match with PO conditions
        condition_type:
          type: string
          example: FRA1
          description: The condition type code from the PO (e.g., FRA1 for freight, TAX1 for tax). Used to match with PO conditions
        condition_category:
          type: string
          enum:
          - PURCHASE_ORDER_CONDITION_CATEGORY_UNSPECIFIED
          - TAX_JUR_CODE_TRIGGER
          - TAX_EXEMPTION_LICENSE_VIA_CONDITIONS
          - TOTAL_CHARGES_IS_OIL
          - CHARGES_CONDITION_RECORDS_IS_OIL
          - TAX_JURISDICTION_LEVEL_1_WITH_LICENSE
          - TAX_JURISDICTION_LEVEL_2
          - TAX_JURISDICTION_LEVEL_3
          - TAX_JURISDICTION_LEVEL_4
          - CUSTOMER_RESERVE_5
          - CUSTOMER_RESERVE_6
          - CUSTOMER_RESERVE_7
          - CUSTOMER_RESERVE_8
          - CUSTOMER_RESERVE_9
          - PACKAGING
          - DELIVERY_COSTS
          - INSURANCE
          - CONDITION_TAX
          - CASH_DISCOUNT
          - CONDITION_FREIGHT
          - INTERNAL_PRICE
          - BASIC_PRICE
          - PRICE_FOR_INTERCOMPANY_BILLING
          - CUSTOMER_EXPECTED_PRICE
          - BASE_AMOUNT_EXCLUDING_TAX
          - GENERALLY_NEW_WHEN_COPYING
          - SALES_TAX_WITH_LICENSE_CHECKING
          - INPUT_TAX_NOT_DEDUCTIBLE
          - VARIANTS
          - BASE_AMOUNT_INCLUDING_TAX
          - COSTING
          - INVOICE_LIST_CONDITION
          - STANDARD_COST
          - MOVING_COST
          - DISCOUNT_SURCHARGE_FOR_PRECIOUS_METALS
          - PRICE_COMPONENT
          - EXPECTED_SALES_PRICE_INCLUDING_TAX
          - CUSTOMER_RESERVE_X
          - CUSTOMER_RESERVE_Y
          - CUSTOMER_RESERVE_Z
          - RESERVED_FIXED_EXTRA_PAY
          - TRANSFER_PRICE_FOR_GROUP_VALUATION
          - TRANSFER_PRICE_FOR_PROFIT_CENTERS
          - CONFIRMED_PURCHASE_NET_PRICE
          - DOWN_PAYMENT_REQUEST
          - FREE_GOODS_INCLUSIVE
          - CONDITION_PAYMENT
          - PROFIT_CENTER_COST
          - SHIP_AND_DEBIT_1_IBU_HITEC
          - SHIP_AND_DEBIT_2_IBU_HITEC
          - TP_ILV_BASE_TARIF_COVERS_COSTS
          - SSR_DISCOUNT_IS_OIL
          - PROFIT_CENTER_INTERNAL_PRICE_ROUTE
          - AFS_SEASON_DETERMINATION
          - SSR_PARTNER_COMMISSION_IS_OIL
          - AFS_VALUE_ADDED_SERVICES
          example: CONDITION_FREIGHT
          description: The category of the condition
        condition_supplier_id:
          type: string
          example: CARRIER_001
          description: '[Deprecated] Use charge_vendor_id instead. The supplier/vendor ID for this condition'
          deprecated: true
        charge_vendor_id:
          type: string
          example: CARRIER_A
          description: The actual vendor/supplier ID from the invoice for this charge
        charge_vendor_name:
          type: string
          example: DHL Express
          description: The vendor/supplier name for this charge
    invoice-goods-receipt:
      type: object
      properties:
        receipt_id:
          type: string
          example: 123AB
          description: The Receipt ID from source system
        amount:
          allOf:
          - $ref: '#/components/schemas/amount'
          - description: Amount allocated to invoice from this receipt
        quantity:
          type: integer
          format: int32
          example: 10
          description: Quantity allocated to invoice from this receipt
    find-invoice-query-spec:
      properties:
        appzen-invoice-status:
          description: Audit status assigned to invoice by Appzen
          type: string
          enum:
          - PROCESSED
          - REJECTED
        erp-invoice-status:
          description: ERP invoice status
          type: string
          example: Pending Manager Review
        invoice-id:
          type: string
        invoice-number:
          type: string
        supplier-id:
          type: string
        from-last-appzen-update-time:
          description: Start Date Range value for Appzen processing date specified in UTC format
          allOf:
          - $ref: '#/components/schemas/date-time'
        to-last-appzen-update-time:
          description: End Date Range for Appzen processing date specified in UTC format
          allOf:
          - $ref: '#/components/schemas/date-time'
      required:
      - from-last-appzen-update-time
      - to-last-appzen-update-time
    invoice-header-custom-json:
      type: object
      description: 'Maximum of 20 fields allowed, 500 chars per field.

        The following is the list of predefined reserved field names. They are the only field names that can have prefix &quot;appzen&#58; &quot;. They are also not subject to the maximum count limit.


        appzen&#58; vendor_einvoice

        appzen&#58; exchange_rate

        appzen&#58; nota_fiscal_elec_num

        appzen&#58; nota_fiscal_type

        appzen&#58; nota_fiscal_material

        appzen&#58; nota_fiscal_service

        appzen&#58; withholding

        appzen&#58; invoice_category

        appzen&#58; business_place

        appzen&#58; section_code

        appzen&#58; gst_partner

        appzen&#58; place_of_supply

        appzen&#58; invoice_reference_no

        appzen&#58; payment_references

        appzen&#58; qr_reference_code

        appzen&#58; qr_bank

        appzen&#58; qr_unstructured_info

        appzen&#58; qr_structured_info

        appzen&#58; enasarco

        appzen&#58; partner_bank

        appzen&#58; assignment

        appzen&#58; sweden_ocr

        appzen&#58; norway_kid

        appzen&#58; denmark_fik

        appzen&#58; project

        appzen&#58; expenditure_org

        appzen&#58; expenditure_type

        appzen&#58; task

        appzen&#58; work_breakdown_structure

        appzen&#58; latam_vendor_vat_id

        appzen&#58; poland_ksef_id

        appzen&#58; israel_allocation_number

        appzen&#58; buyer_endpoint_id

        appzen&#58; buyer_reference

        appzen&#58; pl_ksef_number

        appzen&#58; pl_ksef_schema_version

        appzen&#58; pl_corrected_invoice_issue_date

        appzen&#58; pl_corrected_invoice_ksef_number

        appzen&#58; pl_corrected_invoice_number

        appzen&#58; pl_reason_for_correction

        appzen&#58; pl_type_of_correction

        appzen&#58; fr_supplier_siren

        appzen&#58; fr_supplier_siret

        appzen&#58; fr_customer_siren

        appzen&#58; fr_customer_siret

        appzen&#58; fr_invoice_format

        appzen&#58; fr_invoice_lifecycle_status

        appzen&#58; it_sdi_codice_destinatario

        appzen&#58; it_sdi_formato_trasmissione

        appzen&#58; it_sdi_id_trasmittente_code

        appzen&#58; it_sdi_id_trasmittente_country

        appzen&#58; it_sdi_pec_destinatario

        appzen&#58; it_sdi_progressivo_invio

        appzen&#58; es_dir3_oficina_contable

        appzen&#58; es_dir3_organo_gestor

        appzen&#58; es_dir3_unidad_tramitadora

        appzen&#58; es_facturae_version

        appzen&#58; de_einvoice_format

        appzen&#58; de_leitweg_id

        appzen&#58; nl_oin

        appzen&#58; nl_preferred_format

        appzen&#58; no_ehf_profile_id

        appzen&#58; no_org_number

        appzen&#58; pt_atcud

        appzen&#58; pt_qr_code_present

        appzen&#58; dk_cvr

        appzen&#58; dk_ean_gln

        appzen&#58; fi_einvoice_address

        appzen&#58; fi_business_id_y_tunnus

        appzen&#58; ie_exchange_rate

        appzen&#58; lu_exchange_rate

        appzen&#58; se_endpoint_id

        appzen&#58; hu_nav_rtir_reporting_required

        appzen&#58; bg_converted_vat_amount

        appzen&#58; be_company_number_kbo_cbe

        appzen&#58; bd_bin_or_tin

        appzen&#58; ca_gst_hst_registration

        appzen&#58; hk_business_registration_number

        appzen&#58; lk_vat_registration

        appzen&#58; mu_vat_number

        appzen&#58; ua_vat_number

        appzen&#58; us_supplier_ein

        appzen&#58; ae_tax_amount_aed

        '
      example:
        approval-code: KE-382
        category: internal-projects
        'appzen: withholding': '23.5'
    exchange-rate:
      description: Optional. If the exchange_rate is provided, then all three fields (from_currency_code, to_currency_code and conversion_rate) are required.
      example:
        from_currency_code: USD
        to_currency_code: EUR
        conversion_rate: 0.92
      required:
      - from_currency_code
      - to_currency_code
      - conversion_rate
      properties:
        conversion_rate:
          type: number
          example: 0.92
        from_currency_code:
          type: string
          example: USD
        to_currency_code:
          type: string
          example: EUR
      type: object
    http-404-error-response:
      type: object
      properties:
        timestamp:
          type: string
          example: 2019-01-17T16:12:45.977+0000
        status:
          type: string
          example: 404
        error:
          type: string
          example: Not Found
        message:
          type: string
          example: 'Error code : 17e3338d - The resource you specified cannot be not found'
    payment:
      type: object
      properties:
        status:
          type: string
        type:
          type: string
          enum:
          - PAYMENT
          - DISCOUNT
          - ADJUSTMENT
          - CREDIT
          example: DISCOUNT
        date:
          allOf:
          - $ref: '#/components/schemas/date-time'
        scheduled_date:
          allOf:
          - $ref: '#/components/schemas/date-time'
        description:
          type: string
        amount:
          allOf:
          - $ref: '#/components/schemas/amount'
        payment_id:
          type: string
        payment_method:
          type: string
        payment_reference_number:
          type: string
        payment_block:
          type: string
        check_number:
          type: string
        remittance_notes:
          type: string
        payment_batch_id:
          type: string
        approval_status:
          type: string
        payment_instructions:
          type: string
        payment_medium:
          type: string
        transaction_fees:
          allOf:
          - $ref: '#/components/schemas/amount'
        requester:
          type: string
        approver:
          type: string
        exchange_rate:
          allOf:
          - $ref: '#/components/schemas/exchange-rate'
        bank_information:
          properties:
            bank_account_name:
              default: ''
              type: string
              example: ABC Bank
            bank_acct_number:
              type: string
              example: 213-29802-8674
    date-time:
      type: string
      format: date-time
      example: '2024-03-01T11:01:00Z'
      description: date should be in UTC format
    http-401-error-response:
      type: object
      properties:
        timestamp:
          type: string
          example: 2019-01-17T16:12:45.977+0000
        status:
          type: string
          example: 401
        error:
          type: string
          example: Unauthorized
        message:
          type: string
          example: 'Error code : 17e3338d - Unable to authenticate credentials'
    po_policy_match_type:
      type: string
      enum:
      - PO_NONE_MATCH_TYPE
      - PO_POLICY_TWO_WAY_MATCH
      - PO_POLICY_THREE_WAY_MATCH
    custom_json_object:
      type: object
      description: Set of key value pairs, where each value is an object with two keys - name and id
      example:
        code-region:
          name: us-east
          id: region1s
        code-dept:
          name: wing-1
          id: '325'
    invoice_line_type:
      type: string
      enum:
      - NONE_LINE_TYPE
      - GOODS
      - SERVICE
      - FREIGHT
      - TAX
      - MISCELLANEOUS
    find-invoice-result-spec:
      example:
      - erp-invoice-id: 11069-Visit
        erp-invoice-status: Ready for Review
        appzen-uuid: 57187384-2f9d-4f82-acac-555a264ba968
        appzen-invoice-status: REJECTED
        last-appzen-update-time: '2021-06-16T18:53:38.603Z'
      - erp-invoice-id: '11070'
        erp-invoice-status: Ready for Review
        appzen-uuid: cf3a63d3-3d26-4678-95ac-f3ed4cd8d9bf
        appzen-invoice-status: PROCESSED
        last-appzen-update-time: '2021-06-16T18:54:00.487Z'
      properties:
        erp-invoice-id:
          type: string
        erp-invoice-status:
          type: string
        appzen-uuid:
          type: string
        appzen-invoice-status:
          type: string
        last-appzen-update-time:
          type: string
    withholding-tax:
      type: object
      properties:
        type:
          type: string
        code:
          type: string
        base_amount:
          type: object
          required:
          - amount
          - currency
          properties:
            amount:
              type: number
            currency:
              type: string
        wht_amount:
          type: object
          required:
          - amount
          - currency
          properties:
            amount:
              type: number
            currency:
              type: string
    address:
      type: object
      required:
      - address_type
      properties:
        address_type:
          type: string
          enum:
          - REMIT_TO
          - BILL_TO
          - SHIP_TO
          - OFFICE
          - SUPPLIER_ADDRESS
          - CUSTOMER_ADDRESS
          - NONE_ADDRESS_TYPE
        address:
          allOf:
          - $ref: '#/components/schemas/addressCore'
        site_id:
          type: string
          example: '913838'
        site_name:
          type: string
          example: California HQ
        custom_json:
          type: object
          properties:
            key1:
              type: string
              example: value1
        is_active:
          type: boolean
          default: true
        valid_start_date:
          allOf:
          - $ref: '#/components/schemas/date-time'
        valid_end_date:
          allOf:
          - $ref: '#/components/schemas/date-time'
    invoice-line:
      type: object
      required:
      - total_amount
      - line_number
      - unit_price
      - line_description
      - quantity
      properties:
        line_number:
          type: number
        line_description:
          type: string
        quantity:
          type: number
        unit_price:
          type: object
          required:
          - amount
          - currency
          properties:
            amount:
              type: number
            currency:
              type: string
        total_amount:
          type: object
          required:
          - amount
          - currency
          properties:
            amount:
              type: number
            currency:
              type: string
        tax_amount:
          type: object
          required:
          - amount
          - currency
          properties:
            amount:
              type: number
            currency:
              type: string
        tax_applicability_id:
          type: string
          example: 2A3BL
        memo:
          type: string
          example: Partially payed on 12/03
        amortization_schedule:
          type: string
          example: monthly
        price_per_unit:
          type: number
          example: 2.55
        line_vat_amount:
          allOf:
          - $ref: '#/components/schemas/amount'
        line_vat_breakdown:
          type: array
          items:
            allOf:
            - $ref: '#/components/schemas/vat-breakdown-item'
            - description: The break down of vat amount for the invoice line
        appzen_line_vat_breakdown:
          type: array
          items:
            allOf:
            - $ref: '#/components/schemas/appzen-vat-breakdown-item'
            - description: Appzen break down of vat amount for the invoice line
        purchase_order_number:
          type: string
        purchase_order_line_number:
          type: string
        po_match_type:
          allOf:
          - $ref: '#/components/schemas/po_policy_match_type'
        line_item_code:
          type: string
        unit_of_measure:
          type: string
        model_number:
          type: string
        currency:
          type: string
        gl_code:
          type: string
        segments:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/invoice-account-segment'
        has_line_allocations:
          type: boolean
        po_backed_line:
          type: boolean
        line_allocations:
          type: array
          items:
            allOf:
            - $ref: '#/components/schemas/invoice-line-allocation'
        custom_json:
          allOf:
          - $ref: '#/components/schemas/invoice-line-custom-json'
        custom_json_object:
          allOf:
          - $ref: '#/components/schemas/custom_json_object'
        service_start_date:
          allOf:
          - $ref: '#/components/schemas/date-time'
        service_end_date:
          allOf:
          - $ref: '#/components/schemas/date-time'
        amortization_start_date:
          allOf:
          - $ref: '#/components/schemas/date-time'
        amortization_end_date:
          allOf:
          - $ref: '#/components/schemas/date-time'
        amortization_schedule_details:
          type: object
          properties:
            id:
              type: integer
            name:
              type: string
        line_type:
          allOf:
          - $ref: '#/components/schemas/invoice_line_type'
        goods_receipts:
          type: array
          items:
            allOf:
            - $ref: '#/components/schemas/invoice-goods-receipt'
        hsn_sac_code:
          type: string
        line_conditions:
          type: array
          items:
            allOf:
            - $ref: '#/components/schemas/invoice-line-condition'
          description: List of PO conditions associated with this invoice line (for subsequent invoice types like freight, tax charges)
        line_discounts:
          type: array
          items:
            allOf:
            - $ref: '#/components/schemas/discount'
          description: List of discounts applied at invoice line level
        line_discount:
          allOf:
          - $ref: '#/components/schemas/amount'
          description: Line level discount amount
        header_discount:
          allOf:
          - $ref: '#/components/schemas/amount'
          description: Header level discount amount applied to this line
        total_after_line_discount:
          allOf:
          - $ref: '#/components/schemas/amount'
          description: Total after applying line discounts
        total_after_all_discounts:
          allOf:
          - $ref: '#/components/schemas/amount'
          description: Total after applying all discounts (line and header)
    invoice-line-allocation:
      type: object
      description: Specify an allocation for an invoice line. Either amount/tax or percentage is required.
      required:
      - amount
      - tax
      - percentage
      properties:
        external_allocation_id:
          type: string
        amount:
          type: number
          example: 25.6
        tax:
          example: 2.56
          type: number
        percentage:
          type: number
          example: 35
        gl_code:
          type: string
        allocation_quantity:
          type: number
        purchase_order_number:
          type: string
        purchase_order_line_number:
          type: integer
        appzen_line_allocation_number:
          type: integer
        goods_receipts:
          type: array
          items:
            allOf:
            - $ref: '#/components/schemas/invoice-goods-receipt'
    payment_type:
      type: string
      enum:
      - ACH
      - DOMESTIC_WIRE
      - SEPA_CREDIT_TRANSFER
      - INTERNATIONAL_WIRE_SWIFT
      - BACS
      - BECS
      - CHECK_PAPER
      - REAL_TIME_PAYMENTS
      - VIRTUAL_CARD
    abridgedAddresses:
      type: array
      items:
        type: object
        properties:
          address_type:
            type: string
            enum:
            - REMIT_TO
            - BILL_TO
            - SHIP_TO
            - OFFICE
            - SUPPLIER_ADDRESS
            - CUSTOMER_ADDRESS
            - NONE_ADDRESS_TYPE
          address:
            allOf:
            - $ref: '#/components/schemas/addressCore'
    addressCore:
      required:
      - address_line1
      - country
      - zip
      properties:
        address_line1:
          default: ''
          title: The address_line1 schema
          type: string
          example: 12345 MARKET STREET
        address_line2:
          default: ''
          title: The address_line2 schema
          type: string
          example: SUITE 1234
        address_line3:
          default: ''
          title: The address_line3 schema
          type: string
          example: ''
        area_code:
          default: ''
          title: The area_code schema
          type: string
          example: '415'
        city:
          default: ''
          title: The city schema
          type: string
          example: SAN FRANCISCO
        company:
          default: ''
          title: The company schema
          type: string
          example: Preferred Supplier Inc.
        contact:
          default: ''
          title: The contact schema
          type: string
          example: Jane Doe
        country:
          default: ''
          title: The country schema
          type: string
          example: US
        country_iso3:
          default: ''
          title: The country_iso3 schema
          type: string
          example: USA
        email:
          default: ''
          title: The email schema
          type: string
          example: janedoe@supplier.com
        phone:
          default: ''
          title: The phone schema
          type: string
          example: '4042965282'
        province:
          default: ''
          title: The province schema
          type: string
          example: ''
        state:
          default: ''
          title: The state schema
          type: string
          example: CA
        zip:
          default: ''
          title: The zip schema
          type: string
          example: '94016'
    http-400-error-response:
      type: object
      properties:
        timestamp:
          type: string
          example: 2019-01-17T16:12:45.977+0000
        status:
          type: string
          example: 400
        error:
          type: string
          example: Bad Request
        message:
          type: string
          example: 'Error code : 17e3338d - Invalid request, please fix and resend'
    invoice-account-segment:
      type: object
      required:
      - code
      - name
      - segment_type
      - appzen_segment_type
      - segment_name_id
      properties:
        code:
          type: string
        name:
          type: string
        segment_type:
          type: string
        appzen_segment_type:
          type: string
          description: Value represents how appzen understands the customer segment type. OTHER_SEGMENT should be used to map any customer segment type that does not have correspondence with one of the named appzen segment types (e.g. ACCOUNT_SEGMENT, DEPARTMENT_SEGMENT etc). Multiple OTHER_SEGMENT mappings may be specified, if needed.
          enum:
          - OTHER_SEGMENT
          - LEGAL_ENTITY_SEGMENT
          - COMPANY_SEGMENT
          - ACCOUNT_SEGMENT
          - DEPARTMENT_SEGMENT
          - COST_CENTER_SEGMENT
          - VENDOR_SEGMENT
          - LOCATION_SEGMENT
          - USER_SEGMENT
          - CUSTOMER_SEGMENT
          - PROJECT_SEGMENT
          - SPEND_CATEGORY_SEGMENT
          - REGION_SEGMENT
          - INTERCOMPANY_SEGMENT
          example: COST_CENTER_SEGMENT
        segment_name_id:
          type: string
    uuid-updated:
      type: object
      properties:
        uuid:
          type: string
          example: 5fc03087-d265-11e7-b8c6-83e29cd24f4c
        status:
          type: string
          example: UPDATED
    http-403-error-response:
      type: object
      properties:
        timestamp:
          type: string
          example: 2019-01-17T16:12:45.977+0000
        status:
          type: string
          example: 403
        error:
          type: string
          example: Forbidden
        message:
          type: string
          example: 'Error code : 17e3338d - You do not have permission to access this resource'
    uuid:
      type: object
      properties:
        uuid:
          type: string
          example: 5fc03087-d265-11e7-b8c6-83e29cd24f4c
        status:
          type: string
          example: CREATED
    discount:
      type: object
      properties:
        discount_base_amount:
          allOf:
          - $ref: '#/components/schemas/amount'
          description: Base amount on which the discount is calculated
        discount_percentage:
          type: number
          description: Discount percentage applied
          example: 10.5
        discount_amount:
          allOf:
          - $ref: '#/components/schemas/amount'
          description: Actual discount amount in currency
    vat-breakdown-item:
      type: object
      properties:
        vat_id:
          type: string
          description: External vat_id
          example: gst_1232ext
        code:
          type: string
          example: GST
        rate:
          type: number
          description: rate as percentage
          example: 20.5
          exclusiveMinimum: 0
        vat_amount:
          allOf:
          - $ref: '#/components/schemas/amount'
        jurisdiction_code:
          type: string
          description: Standard tax jurisdiction code
          example: IN
    invoice-get-json-schema:
      type: object
      required:
      - invoice_id
      - invoice_number
      - supplier_id
      - invoice_date
      - payment_term
      - total_amount
      - entity_id
      properties:
        total_amount:
          required:
          - amount
          - currency
          type: object
          properties:
            amount:
              type: number
            currency:
              type: string
        invoice_id:
          type: string
        invoice_status:
          type: string
        entity_id:
          type: string
        entity_name:
          type: string
        purchase_order_numbers:
          type: array
          example:
          - 12321XP
          items:
            type: string
        site_id:
          type: string
        invoice_number:
          type: strin

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