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.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/agave-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 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
openapi: 3.2.0
info:
title: Agave Unified Construction Budgets Invoices API
description: The Agave Unified Construction API provides a single REST API to read and write data from 100+ construction and accounting software systems. It normalizes data across platforms including projects, budgets, contracts, commitments, purchase orders, invoices, cost codes, vendors, timesheets, and employees.
version: '1.0'
contact:
name: Agave API Support
url: https://docs.agaveapi.com
x-generated-from: documentation
servers:
- url: https://api.agaveapi.com
description: Production Server (verified 2026-08-30 — https://api.agaveapi.com/projects returns 401
"Invalid API-Version header"; the /v1 prefix previously carried here 404s and sandbox.agaveapi.com
does not resolve)
security:
- ClientId: []
ClientSecret: []
AccountToken: []
tags:
- name: Invoices
description: Accounts payable invoices and billing.
paths:
/invoices:
get:
operationId: listInvoices
summary: Agave List Invoices
description: Retrieve accounts payable invoices from the linked source system.
tags:
- Invoices
parameters:
- name: source_system_id
in: header
required: true
description: The linked account source system identifier.
schema:
type: string
example: linked-account-abc123
- name: project_id
in: query
description: Filter by project ID.
schema:
type: string
example: proj-500123
responses:
'200':
description: A list of invoices.
content:
application/json:
schema:
$ref: '#/components/schemas/InvoiceList'
examples:
listInvoices200Example:
summary: Default listInvoices 200 response
x-microcks-default: true
value:
data:
- {}
next_cursor: example_value
count: 1
'401':
description: Unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
examples:
listInvoices401Example:
summary: Default listInvoices 401 response
x-microcks-default: true
value:
error: example_value
message: example_value
request_id: '500123'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
post:
operationId: createInvoice
summary: Agave Create Invoice
description: Create a new accounts payable invoice in the linked source system.
tags:
- Invoices
parameters:
- name: source_system_id
in: header
required: true
description: The linked account source system identifier.
schema:
type: string
example: linked-account-abc123
requestBody:
required: true
description: Invoice creation payload.
content:
application/json:
schema:
$ref: '#/components/schemas/InvoiceRequest'
examples:
createInvoiceRequestExample:
summary: Default createInvoice request
x-microcks-default: true
value:
project_id: '500123'
vendor_id: '500123'
invoice_number: example_value
amount: 99.99
invoice_date: '2025-03-15'
responses:
'201':
description: Invoice created successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/Invoice'
examples:
createInvoice201Example:
summary: Default createInvoice 201 response
x-microcks-default: true
value:
id: '500123'
project_id: '500123'
vendor_id: '500123'
invoice_number: example_value
amount: 99.99
status: draft
invoice_date: '2025-03-15'
due_date: '2025-03-15'
'400':
description: Invalid invoice data.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
examples:
createInvoice400Example:
summary: Default createInvoice 400 response
x-microcks-default: true
value:
error: example_value
message: example_value
request_id: '500123'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
components:
schemas:
InvoiceRequest:
type: object
description: Request payload for creating an invoice.
required:
- project_id
- vendor_id
- invoice_number
- amount
- invoice_date
properties:
project_id:
type: string
description: Project to associate the invoice with.
example: proj-500123
vendor_id:
type: string
description: Vendor identifier.
example: ven-334455
invoice_number:
type: string
description: Vendor invoice number.
example: INV-2025-1042
amount:
type: number
description: Invoice amount in USD.
example: 85000.0
invoice_date:
type: string
format: date
description: Invoice date.
example: '2025-03-01'
Invoice:
type: object
description: An accounts payable invoice.
properties:
id:
type: string
description: Invoice identifier.
example: inv-667788
project_id:
type: string
description: Associated project identifier.
example: proj-500123
vendor_id:
type: string
description: Vendor who issued the invoice.
example: ven-334455
invoice_number:
type: string
description: Vendor invoice number.
example: INV-2025-1042
amount:
type: number
description: Invoice total amount in USD.
example: 85000.0
status:
type: string
description: Invoice processing status.
enum:
- draft
- submitted
- approved
- paid
- rejected
example: approved
invoice_date:
type: string
format: date
description: Invoice date.
example: '2025-03-01'
due_date:
type: string
format: date
description: Invoice due date.
example: '2025-03-31'
Error:
type: object
description: API error response.
properties:
error:
type: string
description: Error code.
example: not_found
message:
type: string
description: Human-readable error description.
example: The requested resource was not found.
request_id:
type: string
description: Unique request ID for support.
example: req-a1b2c3d4e5
InvoiceList:
type: object
description: Paginated list of invoices.
properties:
data:
type: array
items:
$ref: '#/components/schemas/Invoice'
example:
- example_value
next_cursor:
type: string
example: eyJpZCI6MTIzfQ==
count:
type: integer
example: 75
securitySchemes:
ClientId:
type: apiKey
in: header
name: Client-Id
description: Your Agave Client Identifier, always a 36-character UUID. Source https://docs.agaveapi.com/agave-api/headers
ClientSecret:
type: apiKey
in: header
name: Client-Secret
description: Your Agave Client Secret, a 40-character string. Source https://docs.agaveapi.com/agave-api/headers
AccountToken:
type: apiKey
in: header
name: Account-Token
description: The unique Account Token associated with the linked User account. Not used on Link Token requests. Source https://docs.agaveapi.com/agave-api/headers