Developer Platform
Connect AI agents and backend systems to Aginera takeoff, routes, schedules and estimates.
The Aginera Developer Platform gives you two ways to use Aginera's construction intelligence outside the web app:
| Offer | For | Where |
|---|---|---|
| Aginera MCP | ChatGPT, Claude, Codex and other agents, and people working inside them | https://mcp.aginera.ai |
| Takeoff & Estimation API (REST) | Partner backends, CI, batch integrations, enterprise systems | https://api.aginera.ai/partner/v1 |
Both surfaces call the same services, so results, permissions and billing are identical. Pick the one that matches your integration:
- An agent or a human in ChatGPT/Claude → Connect to an agent
- A backend system → REST quickstart and the API reference
Both are self-serve to start: authenticate with delegated OAuth (register a public client, a user approves once) with no partner setup, and move to Entra service credentials when you need a fully unattended backend. See Authentication.
Getting credentials
Everything sends Authorization: Bearer <credential> to https://api.aginera.ai/partner/v1. Pick the path that matches how you're calling Aginera — all are self-serve:
| You're calling from | How you get access | Setup |
|---|---|---|
| Your own backend (simplest) | Create an API key in Settings → API and use it directly as Authorization: Bearer agk_… — no OAuth, no exchange, no refresh | Authentication → API keys |
| ChatGPT, Claude, or another agent | Add Aginera as an MCP connector and approve once — no client to register | Connect to an agent |
| Acting for other signed-in users | Register a public OAuth client and run authorization code + PKCE against https://auth.aginera.ai; each user approves once and you get a refreshable token scoped to their org | REST quickstart |
| Enterprise / Entra | Provisioned service credentials (client_id / client_secret) | developers@aginera.ai |
An API key is the quickest way to call the API from your own backend: an org admin creates it in Settings → API, it's shown once, and it works until you revoke it. Prefer delegated OAuth when you're building an agent or acting on behalf of other users — those tokens are scoped to one org, carry only the scopes granted, expire in an hour, and refresh with a rotating refresh token. See Authentication.
Using the token. Once you have an access token, every call is a normal HTTPS request with the token in the Authorization header:
curl https://api.aginera.ai/partner/v1/projects \
-H "Authorization: Bearer $ACCESS_TOKEN"
The full walkthrough — register a client, get a token, upload a document, run a takeoff, read the results — is in the REST quickstart. To use Aginera from ChatGPT or Claude instead, see Connect to an agent.
What you get
- Takeoffs: extracted items with trade, category, item type, quantities in canonical units, sheet and page, evidence boxes and measured geometry.
- Routes: measured conduit, feeder, duct, pipe and tray runs with endpoints and geometry.
- Schedules: panel, fixture and equipment schedules as structured rows.
- Exports: CSV, Excel and JSON today; estimating formats in a later release.
- Credits & usage: balances and reports in credits, by day, client, user, operation or end customer. See API credits & pricing for what each operation costs.
- Premium APIs: deep (UI-parity) takeoffs, interior reveal imagery, and embeddable BIM and clash-detection views — subscription + approval required. See pricing.
Versioning
REST is versioned in the path (/partner/v1). Additive changes (new optional fields, new enum values) are not breaking; clients must ignore unknown fields. Breaking changes ship as a new path version with a 12-month overlap and Deprecation/Sunset headers. The list of versions is always available at https://api.aginera.ai/partner/versions.
Every response carries an Aginera-Request-Id header. Quote it when you contact developers@aginera.ai.