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-projects-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 Projects 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: Projects
description: Construction project management resources.
paths:
/projects:
get:
operationId: listProjects
summary: Agave List Projects
description: Retrieve a list of construction projects from the linked source system.
tags:
- Projects
parameters:
- name: source_system_id
in: header
description: The linked account source system identifier.
required: true
schema:
type: string
example: linked-account-abc123
- name: limit
in: query
description: Maximum number of results to return.
schema:
type: integer
example: 100
- name: cursor
in: query
description: Pagination cursor for the next page of results.
schema:
type: string
example: eyJpZCI6MTIzfQ==
responses:
'200':
description: A paginated list of projects.
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectList'
examples:
listProjects200Example:
summary: Default listProjects 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:
listProjects401Example:
summary: Default listProjects 401 response
x-microcks-default: true
value:
error: example_value
message: example_value
request_id: '500123'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/projects/{id}:
get:
operationId: getProject
summary: Agave Get Project
description: Retrieve a specific construction project by ID.
tags:
- Projects
parameters:
- name: source_system_id
in: header
required: true
description: The linked account source system identifier.
schema:
type: string
example: linked-account-abc123
- name: id
in: path
required: true
description: Project identifier.
schema:
type: string
example: proj-500123
responses:
'200':
description: Project details.
content:
application/json:
schema:
$ref: '#/components/schemas/Project'
examples:
getProject200Example:
summary: Default getProject 200 response
x-microcks-default: true
value:
id: '500123'
source_id: '500123'
name: Example Name
number: example_value
status: active
address: example_value
start_date: '2025-03-15'
estimated_completion_date: '2025-03-15'
total_budget: 99.99
created_at: '2025-03-15T14:30:00Z'
updated_at: '2025-03-15T14:30:00Z'
'404':
description: Project not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
examples:
getProject404Example:
summary: Default getProject 404 response
x-microcks-default: true
value:
error: example_value
message: example_value
request_id: '500123'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
components:
schemas:
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
Project:
type: object
description: A construction project record from the linked source system.
properties:
id:
type: string
description: Agave unified project identifier.
example: proj-500123
source_id:
type: string
description: Project identifier in the source system.
example: 12345
name:
type: string
description: Project name.
example: Downtown Office Building
number:
type: string
description: Project number or code.
example: 2025-001
status:
type: string
description: Project status.
enum:
- active
- inactive
- completed
example: active
address:
type: string
description: Project address.
example: 123 Main St, San Francisco, CA 94105
start_date:
type: string
format: date
description: Project start date.
example: '2025-01-15'
estimated_completion_date:
type: string
format: date
description: Estimated project completion date.
example: '2026-06-30'
total_budget:
type: number
description: Total approved project budget in USD.
example: 5000000.0
created_at:
type: string
format: date-time
description: Timestamp when the record was created.
example: '2025-01-15T09:00:00Z'
updated_at:
type: string
format: date-time
description: Timestamp when the record was last updated.
example: '2025-04-01T12:00:00Z'
ProjectList:
type: object
description: Paginated list of projects.
properties:
data:
type: array
description: Array of project records.
items:
$ref: '#/components/schemas/Project'
example:
- example_value
next_cursor:
type: string
description: Cursor for the next page of results.
example: eyJpZCI6MTIzfQ==
count:
type: integer
description: Number of records returned.
example: 50
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