Agave Financials Management API

Financials Management resources in the Agave unified construction API.

Operations 267

Showing the first 250 of 267. The full set is in the contract, and via get_provider_operations.

GET /assets List Assets #
POST /assets New Asset #
GET /assets/{asset_id} Show Asset #
PUT /assets/{asset_id} Update Asset #
GET /ap-invoices List AP Invoices #
POST /ap-invoices New AP Invoice #
GET /ap-invoices/{ap_invoice_id} Show AP Invoice #
PUT /ap-invoices/{ap_invoice_id} Update AP Invoice #
DELETE /ap-invoices/{ap_invoice_id} Delete AP Invoice #
GET /ap-invoices/{ap_invoice_id}/line-items List AP Invoice Line Items #
POST /ap-invoices/{ap_invoice_id}/line-items New AP Invoice Line Item #
GET /ap-invoices/{ap_invoice_id}/line-items/{ap_invoice_line_item_id} Show AP Invoice Line Item #
PUT /ap-invoices/{ap_invoice_id}/line-items/{ap_invoice_line_item_id} Update AP Invoice Line Item #
DELETE /ap-invoices/{ap_invoice_id}/line-items/{ap_invoice_line_item_id} Delete AP Invoice Line Item #
GET /ap-payments List AP Payments #
POST /ap-payments New AP Payment #
GET /ap-payments/{ap_payment_id} Show AP Payment #
PUT /ap-payments/{ap_payment_id} Update AP Payment #
DELETE /ap-payments/{ap_payment_id} Delete AP Payment #
GET /ap-payments/{ap_payment_id}/line-items List AP Payment Line Items #
POST /ap-payments/{ap_payment_id}/line-items New AP Payment Line Item #
GET /ap-payments/{ap_payment_id}/line-items/{ap_payment_line_item_id} Show AP Payment Line Item #
PUT /ap-payments/{ap_payment_id}/line-items/{ap_payment_line_item_id} Update AP Payment Line Item #
DELETE /ap-payments/{ap_payment_id}/line-items/{ap_payment_line_item_id} Delete AP Payment Line Item #
GET /ar-invoices List AR Invoices #
POST /ar-invoices New AR Invoice #
GET /ar-invoices/{ar_invoice_id} Show AR Invoice #
PUT /ar-invoices/{ar_invoice_id} Update AR Invoice #
DELETE /ar-invoices/{ar_invoice_id} Delete AR Invoice #
GET /ar-invoices/{ar_invoice_id}/line-items List AR Invoice Line Items #
POST /ar-invoices/{ar_invoice_id}/line-items New AR Invoice Line Item #
GET /ar-invoices/{ar_invoice_id}/line-items/{ar_invoice_line_item_id} Show AR Invoice Line Item #
PUT /ar-invoices/{ar_invoice_id}/line-items/{ar_invoice_line_item_id} Update AR Invoice Line Item #
DELETE /ar-invoices/{ar_invoice_id}/line-items/{ar_invoice_line_item_id} Delete AR Invoice Line Item #
GET /ar-payments List AR Payments #
POST /ar-payments New AR Payment #
GET /ar-payments/{ar_payment_id} Show AR Payment #
PUT /ar-payments/{ar_payment_id} Update AR Payment #
DELETE /ar-payments/{ar_payment_id} Delete AR Payment #
GET /ar-payments/{ar_payment_id}/line-items List AR Payment Line Items #
POST /ar-payments/{ar_payment_id}/line-items New AR Payment Line Item #
GET /ar-payments/{ar_payment_id}/line-items/{ar_payment_line_item_id} Show AR Payment Line Item #
PUT /ar-payments/{ar_payment_id}/line-items/{ar_payment_line_item_id} Update AR Line Item #
DELETE /ar-payments/{ar_payment_id}/line-items/{ar_payment_line_item_id} Delete AR Payment Line Item #
GET /bank-accounts List Bank Accounts #
GET /bank-accounts/{bank_account_id} Show Bank Account #
GET /batches List Batches #
POST /batches New Batch #
GET /batches/{batch_id} Show Batch #
PUT /batches/{batch_id} Update Batch #
GET /budget-line-items List Budget Line Items #
POST /budget-line-items New Budget Line Item #
PATCH /budget-line-items Bulk Write Budget Line Items #
GET /budget-line-items/{budget_line_item_id} Show Budget Line Item #
PUT /budget-line-items/{budget_line_item_id} Update Budget Line Item #
DELETE /budget-line-items/{budget_line_item_id} Delete Budget Line Item #
GET /budget-transfers List Budget Transfers #
POST /budget-transfers New Budget Transfer #
GET /budget-transfers/{budget_transfer_id} Show Budget Transfer #
DELETE /budget-transfers/{budget_transfer_id} Delete Budget Transfer #
GET /budget-transfers/{budget_transfer_id}/line-items/{budget_transfer_line_item_id} Show Budget Transfer Line Item #
GET /budget-transfers/{budget_transfer_id}/line-items List Budget Transfer Line Items #
GET /cost-projections List Cost Projections #
POST /cost-projections New Cost Projection #
GET /cost-projections/{cost_projection_id} Show Cost Projections #
PUT /cost-projections/{cost_projection_id} Update Cost Projection #
DELETE /cost-projections/{cost_projection_id} Delete Cost Projection #
GET /budget-production-quantities List Budget Production Quantities #
POST /budget-production-quantities New Budget Production Quantity #
GET /budget-production-quantities/{budget_production_quantity_id} Show Budget Production Quantity #
PUT /budget-production-quantities/{budget_production_quantity_id} Update Budget Production Quantity #
DELETE /budget-production-quantities/{budget_production_quantity_id} Delete Budget Production Quantity #
GET /actual-production-quantities List Actual Production Quantities #
POST /actual-production-quantities New Actual Production Quantity #
GET /actual-production-quantities/{actual_production_quantity_id} Show Actual Production Quantity #
PUT /actual-production-quantities/{actual_production_quantity_id} Update Actual Production Quantity #
DELETE /actual-production-quantities/{actual_production_quantity_id} Delete Actual Production Quantity #
GET /change-orders List Change Orders #
POST /change-orders New Change Order #
PATCH /change-orders Bulk Write Change Orders #
GET /subcontracts/{subcontract_id}/change-orders List Change Orders For One Subcontract #
GET /prime-contracts/{prime_contract_id}/change-orders List Change Orders For Prime Contract #
GET /change-orders/{change_order_id} Show Change Order #
PUT /change-orders/{change_order_id} Update Change Order #
DELETE /change-orders/{change_order_id} Delete Change Order #
GET /change-orders/{change_order_id}/line-items List Change Order Lines Items #
POST /change-orders/{change_order_id}/line-items New Change Order Line Item #
GET /change-orders/{change_order_id}/line-items/{change_order_line_item_id} Show Change Order Line Item #
PUT /change-orders/{change_order_id}/line-items/{change_order_line_item_id} Update Change Order Line Item #
DELETE /change-orders/{change_order_id}/line-items/{change_order_line_item_id} Delete Change Order Line Item #
GET /change-events List Change Events #
POST /change-events New Change Event #
GET /change-events/{change_event_id} Show Change Event #
PUT /change-events/{change_event_id} Update Change Event #
DELETE /change-events/{change_event_id} Delete Change Event #
POST /change-events/{change_event_id}/attachments Attach to Change Event #
GET /change-events/{change_event_id}/line-items List Change Event Lines Items #
POST /change-events/{change_event_id}/line-items New Change Event Line Item #
GET /change-events/{change_event_id}/line-items/{change_event_line_item_id} Show Change Event Line Item #
DELETE /change-events/{change_event_id}/line-items/{change_event_line_item_id} Delete Change Event Line Item #
PUT /change-events/{change_event_id}/line-items/{change_event_line_item_id} Update Change Event Line Item #
GET /cost-codes List Cost Codes #
POST /cost-codes New Cost Code #
GET /cost-codes/{cost_code_id} Show Cost Code #
PUT /cost-codes/{cost_code_id} Update Cost Code #
DELETE /cost-codes/{cost_code_id} Delete Cost Code #
GET /cost-types List Cost Types #
POST /cost-types New Cost Type #
PUT /cost-types/{cost_type_id} Update Cost Type #
GET /cost-types/{cost_type_id} Show Cost Type #
DELETE /cost-types/{cost_type_id} Delete Cost Type #
GET /sub-jobs List Sub-Jobs #
GET /sub-jobs/{sub_job_id} Show Sub-Job #
GET /vendors/compliances List Vendor Compliances (All Vendors) #
GET /vendors/{vendor_id}/compliances List Vendor Compliances (One Vendor) #
POST /vendors/{vendor_id}/compliances New Vendor Compliance #
GET /vendors/{vendor_id}/compliances/{vendor_compliance_id} Show Vendor Compliance #
PUT /vendors/{vendor_id}/compliances/{vendor_compliance_id} Update Vendor Compliance #
DELETE /vendors/{vendor_id}/compliances/{vendor_compliance_id} Delete Vendor Compliance #
GET /subcontracts/compliances List Subcontract Compliances (All Subcontracts) #
GET /subcontracts/{subcontract_id}/compliances List Subcontract Compliances (One Subcontract) #
POST /subcontracts/{subcontract_id}/compliances New Subcontract Compliance #
GET /subcontracts/{subcontract_id}/compliances/{subcontract_compliance_id} Show Subcontract Compliance #
PUT /subcontracts/{subcontract_id}/compliances/{subcontract_compliance_id} Update Subcontract Compliance #
DELETE /subcontracts/{subcontract_id}/compliances/{subcontract_compliance_id} Delete Subcontract Compliance #
GET /purchase-orders/compliances List Purchase Order Compliances (All Purchase Ordes) #
GET /purchase-orders/{purchase_order_id}/compliances List Purchase Order Compliances (One Purchase Order) #
POST /purchase-orders/{purchase_order_id}/compliances New Purchase Order Compliance #
GET /purchase-orders/{purchase_order_id}/compliances/{purchase_order_compliance_id} Show Purchase Order Compliance #
PUT /purchase-orders/{purchase_order_id}/compliances/{purchase_order_compliance_id} Update Purchase Order Compliance #
DELETE /purchase-orders/{purchase_order_id}/compliances/{purchase_order_compliance_id} Delete Purchase Order Compliance #
GET /employees List Employees #
POST /employees New Employee #
GET /employees/{employee_id} Show Employee #
PUT /employees/{employee_id} Update Employee #
DELETE /employees/{employee_id} Delete Employee #
GET /estimates List Estimates #
POST /estimates New Estimate #
GET /estimates/{estimate_id} Show Estimate #
PUT /estimates/{estimate_id} Update Estimate #
DELETE /estimates/{estimate_id} Delete Estimate #
GET /estimates/{estimate_id}/line-items List Estimate Line Items #
POST /estimates/{estimate_id}/line-items New Estimate Line Item #
GET /estimates/{estimate_id}/line-items/{estimate_line_item_id} Show Estimate Line Item #
PUT /estimates/{estimate_id}/line-items/{estimate_line_item_id} Update Estimate Line Item #
DELETE /estimates/{estimate_id}/line-items/{estimate_line_item_id} Delete Estimate Line Item #
GET /expenses List Expenses #
POST /expenses New Expense #
GET /expenses/{expense_id} Show Expense #
PUT /expenses/{expense_id} Update Expense #
DELETE /expenses/{expense_id} Delete Expense #
GET /expenses/{expense_id}/line-items List Expense Line Items #
POST /expenses/{expense_id}/line-items New Expense Line Item #
GET /expenses/{expense_id}/line-items/{expense_line_item_id} Show Expense Line Item #
PUT /expenses/{expense_id}/line-items/{expense_line_item_id} Update Expense Line Item #
DELETE /expenses/{expense_id}/line-items/{expense_line_item_id} Delete Expense Line Item #
GET /items List Items #
POST /items New Item #
GET /items/{item_id} Show Item #
PUT /items/{item_id} Update Item #
DELETE /items/{item_id} Delete Item #
GET /item-receipts List Item Receipts #
POST /item-receipts New Item Receipt #
GET /item-receipts/{item_receipt_id} Show Item Receipt #
PUT /item-receipts/{item_receipt_id} Update Item Receipt #
DELETE /item-receipts/{item_receipt_id} Delete Item Receipt #
GET /item-receipts/{item_receipt_id}/line-items List Item Receipt Line Items #
POST /item-receipts/{item_receipt_id}/line-items New Item Receipt Line Item #
GET /item-receipts/{item_receipt_id}/line-items/{item_receipt_line_item_id} Show Item Receipt Line Items #
PUT /item-receipts/{item_receipt_id}/line-items/{item_receipt_line_item_id} Update Item Receipt Line Item #
DELETE /item-receipts/{item_receipt_id}/line-items/{item_receipt_line_item_id} Delete Item Receipt Line Item #
GET /job-costs List Job Costs #
POST /job-costs New Job Cost #
GET /job-costs/{job_cost_id} Show Job Cost #
PUT /job-costs/{job_cost_id} Update Job Cost #
DELETE /job-costs/{job_cost_id} Delete Job Cost #
GET /ledger-accounts List Ledger Accounts #
POST /ledger-accounts New Ledger Account #
GET /ledger-accounts/{ledger_account_id} Show Ledger Account #
PUT /ledger-accounts/{ledger_account_id} Update Ledger Account #
GET /ledger-journals List Ledger Journals #
GET /ledger-journals/{ledger_journal_id} Show Ledger Journal #
POST /ledger-journals/{ledger_journal_id} New Ledger Journal #
PUT /ledger-journals/{ledger_journal_id} Update Ledger Journal #
GET /ledger-journal-entries List Ledger Journal Entries #
POST /ledger-journal-entries New Ledger Journal Entry #
GET /ledger-journal-entries/{ledger_journal_entry_id} Show Ledger Journal Entry #
PUT /ledger-journal-entries/{ledger_journal_entry_id} Update Ledger Journal Entry #
DELETE /ledger-journal-entries/{ledger_journal_entry_id} Delete Ledger Journal Entry #
GET /ledger-journal-entries/{ledger_journal_entry_id}/line-items List Ledger Journal Entry Line Items #
POST /ledger-journal-entries/{ledger_journal_entry_id}/line-items New Ledger Journal Entry Line Item #
GET /ledger-journal-entries/{ledger_journal_entry_id}/line-items/{ledger_journal_entry_line_item_id} Show Ledger Journal Entry Line Item #
PUT /ledger-journal-entries/{ledger_journal_entry_id}/line-items/{ledger_journal_entry_line_item_id} Update Ledger Journal Entry Line Item #
DELETE /ledger-journal-entries/{ledger_journal_entry_id}/line-items/{ledger_journal_entry_line_item_id} Delete Ledger Journal Entry Line Item #
GET /purchase-orders List Purchase Orders #
POST /purchase-orders New Purchase Order #
PATCH /purchase-orders Bulk Write Purchase Orders #
GET /purchase-orders/{purchase_order_id} Show Purchase Order #
PUT /purchase-orders/{purchase_order_id} Update Purchase Order #
DELETE /purchase-orders/{purchase_order_id} Delete Purchase Order #
GET /purchase-orders/{purchase_order_id}/line-items List Purchase Order Line Items #
POST /purchase-orders/{purchase_order_id}/line-items New Purchase Order Line Item #
GET /purchase-orders/{purchase_order_id}/line-items/{purchase_order_line_item_id} Show Purchase Order Line Item #
PUT /purchase-orders/{purchase_order_id}/line-items/{purchase_order_line_item_id} Update Purchase Order Line Item #
DELETE /purchase-orders/{purchase_order_id}/line-items/{purchase_order_line_item_id} Delete Purchase Order Line Item #
GET /prime-contracts List Prime Contracts #
POST /prime-contracts New Prime Contract #
GET /prime-contracts/{prime_contract_id} Show Prime Contract #
PUT /prime-contracts/{prime_contract_id} Update Prime Contract #
DELETE /prime-contracts/{prime_contract_id} Delete Prime Contract #
GET /prime-contracts/{prime_contract_id}/line-items List Prime Contract Line Items #
POST /prime-contracts/{prime_contract_id}/line-items New Prime Contract Line Item #
GET /prime-contracts/{prime_contract_id}/line-items/{prime_contract_line_item_id} Show Prime Contract Line Item #
PUT /prime-contracts/{prime_contract_id}/line-items/{prime_contract_line_item_id} Update Prime Contract Line Item #
DELETE /prime-contracts/{prime_contract_id}/line-items/{prime_contract_line_item_id} Delete Prime Contract Line Item #
GET /subcontracts List Subcontracts #
POST /subcontracts New Subcontract #
GET /subcontracts/{subcontract_id} Show Subcontract #
PUT /subcontracts/{subcontract_id} Update Subcontract #
DELETE /subcontracts/{subcontract_id} Delete Subcontract #
GET /subcontracts/{subcontract_id}/line-items List Subcontract Line Items #
POST /subcontracts/{subcontract_id}/line-items New Subcontract Line Item #
GET /subcontracts/{subcontract_id}/line-items/{subcontract_line_item_id} Show Subcontract Line Item #
PUT /subcontracts/{subcontract_id}/line-items/{subcontract_line_item_id} Update Subcontract Line Item #
DELETE /subcontracts/{subcontract_id}/line-items/{subcontract_line_item_id} Delete Subcontract Line Item #
GET /subcontract-claims List Subcontract Claims #
POST /subcontract-claims New Subcontract Claim #
GET /subcontract-claims/{subcontract_claim_id} Show Subcontract Claim #
PUT /subcontract-claims/{subcontract_claim_id} Update Subcontract Claim #
DELETE /subcontract-claims/{subcontract_claim_id} Delete Subcontract Claim #
GET /subcontract-claims/{subcontract_claim_id}/line-items List Subcontract Claim Line Items #
POST /subcontract-claims/{subcontract_claim_id}/line-items New Subcontract Claim Line Item #
GET /subcontract-claims/{subcontract_claim_id}/line-items/{subcontract_claim_line_item_id} Show Subcontract Claim Line Item #
PUT /subcontract-claims/{subcontract_claim_id}/line-items/{subcontract_claim_line_item_id} Update Subcontract Claim Line Item #
DELETE /subcontract-claims/{subcontract_claim_id}/line-items/{subcontract_claim_line_item_id} Delete Subcontract Claim Line Item #
GET /tax-codes List Tax Codes #
POST /tax-codes New Tax Code #
GET /tax-codes/{tax_code_id} Show Tax Code #
DELETE /tax-codes/{tax_code_id} Delete Tax Code #
PUT /tax-codes/{tax_code_id} Update Tax Code #
GET /timecard-entries List Timecard Entries #
POST /timecard-entries New Timecard Entry #
GET /timecard-entries/{timecard_entry_id} Show Timecard Entry #
PUT /timecard-entries/{timecard_entry_id} Update Timecard Entry #
DELETE /timecard-entries/{timecard_entry_id} Delete Timecard Entry #
GET /wbs List WBS #
POST /wbs New WBS #
GET /wbs/{wbs_id} Show WBS #
POST /wbs-segments/{wbs_segment_id}/items New WBS Segment Item #
GET /wbs-segments/{wbs_segment_id}/items List WBS Segment Items #

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/agave-financials-management-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

agave-financials-management-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Agave Unified Construction API (derived from the provider…
  version: '2021-11-21'
  description: Machine-readable OpenAPI DERIVED by API Evangelist from the Postman collection Agave publishes at https://docs.agaveapi.com/agave-api/postman-collection (AgaveAPI-2024-09-10.zip, collection exported 2024-09-10, 437 requests).
  contact:
    name: Agave API Support
    email: api-support@agaveapi.com
    url: https://docs.agaveapi.com
  x-derived-from: collections/agave-api-provider.postman_collection.json
  x-method: derived
  x-generated: '2026-08-30'
servers:
- url: https://api.agaveapi.com
  description: Production
security:
- ClientId: []
  ClientSecret: []
  AccountToken: []
tags:
- name: Financials Management
  description: Financials Management resources in the Agave unified construction API.
paths:
  /assets:
    get:
      operationId: getAssets
      summary: List Assets
      tags:
      - Financials Management
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
    post:
      operationId: postAssets
      summary: New Asset
      tags:
      - Financials Management
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
            example:
              category: EQUIPMENT
              current_location_id: '*'
              default_location_id: 001-NY
              description: Ford F250 Pickup Truck
              make: Ford
              manufacturer: null
              model: F250
              name: FORD F250 PICKUP Test
              number: '100024696'
              ownership_type: null
              serial_number: S8XEE906
              status: Active
              type: '1000'
              vendor_id: 00a46e09-d013-5818-9bb6-871f0953148f
              source_data:
                EmeHomelocName: New York Yard / Warehouse
                EmeBulkEquipmentFlag: Y
                EmeAutoChargeoutFlag: Y
                EmeEqpHier: A126
                EmeBillRateRequiredFlag: N
                EmeFixedAssetsFlag: Y
                EmeDepreciationFlag: N
                EmeUseMeterReadingFlag: N
  /assets/{asset_id}:
    get:
      operationId: getAssetsByAssetId
      summary: Show Asset
      tags:
      - Financials Management
      parameters:
      - name: asset_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the asset.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
    put:
      operationId: putAssetsByAssetId
      summary: Update Asset
      tags:
      - Financials Management
      parameters:
      - name: asset_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the asset.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
            example:
              category: EQUIPMENT
              current_location_id: '*'
              default_location_id: 001-NY
              description: Ford F250 Pickup Truck
              make: Ford
              manufacturer: null
              model: F250
              name: FORD F250 PICKUP
              number: '1000245'
              ownership_type: null
              serial_number: S8XEE769789
              status: Active
              type: '1000'
              source_data:
                EmeHomelocName: New York Yard / Warehouse
                EmeBulkEquipmentFlag: Y
                EmeAutoChargeoutFlag: Y
                EmeEqpHier: '999'
                EmeBillRateRequiredFlag: N
                EmeFloatFlag: N
                EmeFixedAssetsFlag: Y
                EmeDepreciationFlag: N
                EmeUseMeterReadingFlag: N
  /ap-invoices:
    get:
      operationId: getApInvoices
      summary: List AP Invoices
      tags:
      - Financials Management
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
    post:
      operationId: postApInvoices
      summary: New AP Invoice
      tags:
      - Financials Management
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
            example:
              type: Voucher
              issue_date: '2024-03-02'
              vendor_id: '{{vendor_id}}'
              contract:
                id: '{{subcontract_id}}'
                type: subcontract
              number: sz-001
              line_items:
              - amount: '10'
                quantity: '0'
                contract:
                  id: '{{subcontract_id}}'
                  line_item_id: '{{subcontract_line_item_id}}'
  /ap-invoices/{ap_invoice_id}:
    get:
      operationId: getApInvoicesByApInvoiceId
      summary: Show AP Invoice
      tags:
      - Financials Management
      parameters:
      - name: ap_invoice_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the ap invoice.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
    put:
      operationId: putApInvoicesByApInvoiceId
      summary: Update AP Invoice
      tags:
      - Financials Management
      parameters:
      - name: ap_invoice_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the ap invoice.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
            example:
              description: apple
              due_date: '2023-05-11'
              issue_date: '2023-04-11'
              number: '3'
    delete:
      operationId: deleteApInvoicesByApInvoiceId
      summary: Delete AP Invoice
      tags:
      - Financials Management
      parameters:
      - name: ap_invoice_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the ap invoice.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
  /ap-invoices/{ap_invoice_id}/line-items:
    get:
      operationId: getApInvoicesByApInvoiceIdLineItems
      summary: List AP Invoice Line Items
      tags:
      - Financials Management
      parameters:
      - name: ap_invoice_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the ap invoice.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
    post:
      operationId: postApInvoicesByApInvoiceIdLineItems
      summary: New AP Invoice Line Item
      tags:
      - Financials Management
      parameters:
      - name: ap_invoice_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the ap invoice.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
            example:
              amount: '1.3'
              description: test item
              quantity: '1.0'
              unit_cost: '1.3'
              type: AccountBasedExpenseLineDetail
              customer_id: '{{customer_id}}'
              status: NotBillable
  /ap-invoices/{ap_invoice_id}/line-items/{ap_invoice_line_item_id}:
    get:
      operationId: getApInvoicesByApInvoiceIdLineItemsByApInvoiceLineItemId
      summary: Show AP Invoice Line Item
      tags:
      - Financials Management
      parameters:
      - name: ap_invoice_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the ap invoice.
      - name: ap_invoice_line_item_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the ap invoice line item.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
    put:
      operationId: putApInvoicesByApInvoiceIdLineItemsByApInvoiceLineItemId
      summary: Update AP Invoice Line Item
      tags:
      - Financials Management
      parameters:
      - name: ap_invoice_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the ap invoice.
      - name: ap_invoice_line_item_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the ap invoice line item.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
            example:
              discount_amount: '{{$randomInt}}'
    delete:
      operationId: deleteApInvoicesByApInvoiceIdLineItemsByApInvoiceLineItemId
      summary: Delete AP Invoice Line Item
      tags:
      - Financials Management
      parameters:
      - name: ap_invoice_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the ap invoice.
      - name: ap_invoice_line_item_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the ap invoice line item.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
  /ap-payments:
    get:
      operationId: getApPayments
      summary: List AP Payments
      tags:
      - Financials Management
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
    post:
      operationId: postApPayments
      summary: New AP Payment
      tags:
      - Financials Management
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
            example:
              bank_account_id: source_id:35
              description: Test AP Payment
              number: PA-013-PAY
              payment_date: '2024-01-01'
              payment_method: Check
              total_amount: '10.00'
              vendor_id: source_id:10
              line_items:
              - ap_invoice_id: '{{ap_invoice_id}}'
                discount_taken_amount: null
                total_amount: '5.00'
  /ap-payments/{ap_payment_id}:
    get:
      operationId: getApPaymentsByApPaymentId
      summary: Show AP Payment
      tags:
      - Financials Management
      parameters:
      - name: ap_payment_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the ap payment.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
    put:
      operationId: putApPaymentsByApPaymentId
      summary: Update AP Payment
      tags:
      - Financials Management
      parameters:
      - name: ap_payment_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the ap payment.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
            example:
              description: apple
              due_date: 2/2/22
              issue_date: 1/1/11
              number: '3'
              vendor_id: 82be2b68-5e42-5e04-b54d-4ceafc8eea92
              line_items:
              - amount: 103
                description: newnew2
                quantity: 203
                status: Billable
                type: AccountBasedExpenseLineDetail
                unit_cost: 303
                account_id: e6254e11-d683-5b14-95ba-47bd37aefa17
                item_id: bdbb5e32-502e-525b-a98d-d6e461a0fad2
                customer_id: 9e46c938-6ffc-5841-b37d-b2589ce437fb
    delete:
      operationId: deleteApPaymentsByApPaymentId
      summary: Delete AP Payment
      tags:
      - Financials Management
      parameters:
      - name: ap_payment_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the ap payment.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
  /ap-payments/{ap_payment_id}/line-items:
    get:
      operationId: getApPaymentsByApPaymentIdLineItems
      summary: List AP Payment Line Items
      tags:
      - Financials Management
      parameters:
      - name: ap_payment_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the ap payment.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
    post:
      operationId: postApPaymentsByApPaymentIdLineItems
      summary: New AP Payment Line Item
      tags:
      - Financials Management
      parameters:
      - name: ap_payment_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the ap payment.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
            example:
              ap_invoice_id: source_id:454800
              total_amount: '600.00'
  /ap-payments/{ap_payment_id}/line-items/{ap_payment_line_item_id}:
    get:
      operationId: getApPaymentsByApPaymentIdLineItemsByApPaymentLineItemId
      summary: Show AP Payment Line Item
      tags:
      - Financials Management
      parameters:
      - name: ap_payment_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the ap payment.
      - name: ap_payment_line_item_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the ap payment line item.
      - name: contract_id
        in: query
        required: false
        schema:
          type: string
      - name: contract_type
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
    put:
      operationId: putApPaymentsByApPaymentIdLineItemsByApPaymentLineItemId
      summary: Update AP Payment Line Item
      tags:
      - Financials Management
      parameters:
      - name: ap_payment_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the ap payment.
      - name: ap_payment_line_item_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the ap payment line item.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
            example:
              amount: 100
              description: Two tons of cement!
              quantity: null
              status: Billable
              type: AccountBasedExpenseLineDetail
              unit_cost: null
              ledger_account_id: c0d61b50-1e58-5844-86aa-c4f42a601808
              item_id: null
              customer_id: 693f8cb6-f10e-5c6b-a4c8-6e2dbe738d8c
    delete:
      operationId: deleteApPaymentsByApPaymentIdLineItemsByApPaymentLineItemId
      summary: Delete AP Payment Line Item
      tags:
      - Financials Management
      parameters:
      - name: ap_payment_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the ap payment.
      - name: ap_payment_line_item_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the ap payment line item.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
  /ar-invoices:
    get:
      operationId: getArInvoices
      summary: List AR Invoices
      tags:
      - Financials Management
      parameters:
      - name: filters[]
        in: query
        required: false
        schema:
          type: string
      - name: filters[]
        in: query
        required: false
        schema:
          type: string
      - name: filters[]
        in: query
        required: false
        schema:
          type: string
      - name: status
        in: query
        required: false
        schema:
          type: string
      - name: type
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
    post:
      operationId: postArInvoices
      summary: New AR Invoice
      tags:
      - Financials Management
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
            example:
              batch: '10916'
              customer_id: source_id:3507331
              issue_date: '2024-08-05'
              number: '357'
              tax_code_id: source_id:1900
              department_id: source_id:1
              line_items:
                amount:
                - '50'
  /ar-invoices/{ar_invoice_id}:
    get:
      operationId: getArInvoicesByArInvoiceId
      summary: Show AR Invoice
      tags:
      - Financials Management
      parameters:
      - name: ar_invoice_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the ar invoice.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
    put:
      operationId: putArInvoicesByArInvoiceId
      summary: Update AR Invoice
      tags:
      - Financials Management
      parameters:
      - name: ar_invoice_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the ar invoice.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
            example:
              due_date: '2023-05-12'
              issue_date: '2023-04-11'
    delete:
      operationId: deleteArInvoicesByArInvoiceId
      summary: Delete AR Invoice
      tags:
      - Financials Management
      parameters:
      - name: ar_invoice_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the ar invoice.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
  /ar-invoices/{ar_invoice_id}/line-items:
    get:
      operationId: getArInvoicesByArInvoiceIdLineItems
      summary: List AR Invoice Line Items
      tags:
      - Financials Management
      parameters:
      - name: ar_invoice_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the ar invoice.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
    post:
      operationId: postArInvoicesByArInvoiceIdLineItems
      summary: New AR Invoice Line Item
      tags:
      - Financials Management
      parameters:
      - name: ar_invoice_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the ar invoice.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
            example:
              cost_code_id: 337db147-8267-56de-8d84-8785fb789069
              unit_of_measure: $
              source_data:
                ScschVenCode: '3456'
                ScschChgCode: '000'
                ScschCatCode: M
                ScschTaskCode: '1'
  /ar-invoices/{ar_invoice_id}/line-items/{ar_invoice_line_item_id}:
    get:
      operationId: getArInvoicesByArInvoiceIdLineItemsByArInvoiceLineItemId
      summary: Show AR Invoice Line Item
      tags:
      - Financials Management
      parameters:
      - name: ar_invoice_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the ar invoice.
      - name: ar_invoice_line_item_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the ar invoice line item.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
    put:
      operationId: putArInvoicesByArInvoiceIdLineItemsByArInvoiceLineItemId
      summary: Update AR Invoice Line Item
      tags:
      - Financials Management
      parameters:
      - name: ar_invoice_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the ar invoice.
      - name: ar_invoice_line_item_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the ar invoice line item.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
            example:
              cost_code_id: 337db147-8267-56de-8d84-8785fb789069
              unit_of_measure: $
    delete:
      operationId: deleteArInvoicesByArInvoiceIdLineItemsByArInvoiceLineItemId
      summary: Delete AR Invoice Line Item
      tags:
      - Financials Management
      parameters:
      - name: ar_invoice_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the ar invoice.
      - name: ar_invoice_line_item_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the ar invoice line item.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
            example:
              actual_completion_date: '2022-08-25'
              contractor_id: '{{vendor_id}}'
              defects_expiry_date: '2022-08-27'
              defects_period: ''
              description: Contract by Pooria via Agave 5
              estimated_completion_date: '2022-08-27'
              execution_date: '2022-05-27'
              full_release_date: '2022-02-27'
              half_release_date: '2022-08-27'
              is_executed: true
              retainage_percent: 25
              retention_based_on: Unknown
              sent_date: '2022-01-01'
              start_date: '2022-01-02'
              total_amount: ''
              type: Lump Sum
  /ar-payments:
    get:
      operationId: getArPayments
      summary: List AR Payments
      tags:
      - Financials Management
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
    post:
      operationId: postArPayments
      summary: New AR Payment
      tags:
      - Financials Management
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
            example:
              amount: 25
              batch: '1'
              number: abcdef245
            

# --- truncated at 32 KB (227 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/agave/refs/heads/main/openapi/agave-financials-management-api-openapi.yml