canonical: https://jentic.com/apis/bidbuild.net/bidbuild

# bidbuild API

bidbuild is a construction-focused business management platform that covers the full lifecycle from lead tracking through proposal generation, project execution, change orders, invoicing, and vendor inventory management. Its REST API exposes 735 endpoints across leads, projects, proposals, invoices, payments, vendors, files, notifications, and a deep QuickBooks integration. Authentication uses bearer tokens against api.bidbuild.net. The endpoint surface is large - agents typically narrow scope to a specific module such as invoicing or proposals rather than treating it as a single API.

## For AI agents

Manage construction leads, proposals, projects, invoices, payments, and QuickBooks sync through bidbuild's business management platform.

## Scope

Does not handle on-site time clocks, payroll, or material takeoff estimating - use for construction lead, proposal, invoice, and vendor management only.

## Capabilities

- Manage construction leads from initial enquiry through to converted projects
- Generate and send proposals with line items, scopes, and signatures
- Track invoices, mark them as paid, and release them to QuickBooks
- Sync customers, vendors, and projects between bidbuild and QuickBooks Online
- Manage vendor records and the inventory items they supply
- Configure notification settings for users across web and email
- Aggregate invoice totals for cashflow reporting

## Use cases

### Lead to Cash for Construction

Run the full sales-to-cash cycle for a residential or commercial construction firm. Capture a lead, generate a proposal, convert it into a project on signature, raise progress invoices, mark them paid, and release them to QuickBooks. The 735-endpoint surface covers each step and the QuickBooks integration removes the need for manual journal entry.

Example prompt: Create a lead in bidbuild, generate a proposal with two line items, then on acceptance create the corresponding invoice and release it to QuickBooks.

### QuickBooks Synchronisation

Keep customers, vendors, projects, and invoices synchronised between bidbuild and QuickBooks Online so the accounting team works from the QuickBooks ledger while the field team uses bidbuild. The `/api/v1/quickbooks`/* endpoints handle the OAuth integration setup, customer and vendor sync, and per-invoice release back to QuickBooks.

Example prompt: Sync all QuickBooks customers into bidbuild via `/api/v1/quickbooks/customers` and reconcile invoice IDs.

### Cashflow and Invoice Aggregation Reporting

Generate a cashflow report by querying `/api/v1/invoices` with filters and aggregating totals via `/api/v1/invoices/aggregate/totals.` This avoids loading every invoice into the report tool and supports rolling weekly, monthly, and quarterly views for finance leads inside the construction business.

Example prompt: Call `/api/v1/invoices/aggregate/totals` with date filters for the last 90 days and group totals by status.

### AI Agent Project Manager Assistant

An AI agent helping a project manager track a portfolio of construction jobs can answer questions like 'which invoices are overdue?' and 'what proposals are awaiting signature?' through Jentic. The agent searches by intent, loads the relevant schema, and executes - Jentic injects the bearer token so the agent never sees the raw credential and can focus on the underlying business question.

Example prompt: Search Jentic for 'list bidbuild invoices', execute `/api/v1/invoices`, and return the subset where status is overdue.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/api/v1/invoices` | List invoices |
| POST | `/api/v1/invoices` | Create an invoice |
| POST | `/api/v1/invoices/{id}/quickbooks` | Release invoice to QuickBooks |
| POST | `/api/v1/invoices/{id}/mark_as_paid` | Mark an invoice as paid |
| GET | `/api/v1/invoices/aggregate/totals` | Aggregate invoice totals |
| GET | `/api/v1/quickbooks/customers` | List QuickBooks customers |
| GET | `/api/v1/notification_settings` | Get notification settings |

## Key resources

- **Leads** — Capture and track construction leads from enquiry to conversion
- **Proposals** — Generate, send, and track construction proposals
- **Invoices** — Manage progress and final invoices, mark as paid, and release to QuickBooks
- **Projects** — Track projects converted from accepted proposals
- **QuickBooks integration** — Sync customers, vendors, accounts, and invoices with QuickBooks Online
- **Vendors** — Manage vendor records and the items they supply
- **Notifications** — Configure per-user notification preferences

## Why Jentic

- **Setup:** Wiring the bidbuild API by hand means carrying its bearer token on every call and building each invoice, proposal, and QuickBooks-sync path yourself across a large surface. Through Jentic you install once, import bidbuild from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** bidbuild puts the invoice id in the URL path (`/invoices/{id}/mark_as_paid`), so a rule can pin your agent to one invoice: it can read that invoice and its totals and nothing else. You choose the operations it may call, so marking an invoice paid or pushing it to QuickBooks is not included unless you add it.
- **Credential handling:** Your bidbuild bearer token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'list overdue construction invoices' or 'mark an invoice as paid', and Jentic returns the matching bidbuild operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Procore API** — Procore is the dominant enterprise construction management platform with broader project execution coverage.
- **monday.com API** — monday.com handles cross-functional project boards alongside bidbuild's construction-specific records.
- **Stripe API** — Stripe collects card payments that can be reconciled against bidbuild invoices.

## FAQ

### What authentication does the bidbuild API use?

bidbuild uses HTTP Bearer authentication - pass the access token in the Authorization header on every request. Through Jentic, the bearer token is stored encrypted in the your Jentic One instance and injected at execution time so the agent never sees the raw token, which matters because the same token can release invoices and trigger QuickBooks sync.

### Can I release a bidbuild invoice to QuickBooks Online?

Yes. POST `/api/v1/invoices/{id}/quickbooks` releases the specified invoice to QuickBooks once the QuickBooks integration has been authorised under `/api/v1/auth/quickbooks.` The reverse, DELETE `/api/v1/invoices/{id}/quickbooks`, unreleases an invoice.

### How do I aggregate invoice totals across a date range?

Call GET `/api/v1/invoices/aggregate/totals` with appropriate filter parameters. The response gives totals grouped by status, which is the pattern construction CFOs use for weekly cashflow reviews without scanning every individual invoice record.

### How do I list bidbuild invoices through Jentic?

Search Jentic for 'list bidbuild invoices', load `/api/v1/invoices`, and execute. With the SDK: pip install jentic, then SearchRequest, LoadRequest, ExecutionRequest in an async flow - Jentic injects the bearer token automatically.

### Does bidbuild support webhooks?

Yes - the spec exposes a QuickBooks webhook endpoint at POST `/api/v1/quickbooks/webhook` used to receive QuickBooks change events. Configure your webhook subscription in the bidbuild admin console and keep the endpoint reachable so QuickBooks events are processed.

### How large is the bidbuild API surface?

The OpenAPI spec exposes 735 endpoints across leads, proposals, projects, invoices, payments, files, vendors, and the QuickBooks integration. Most agents work against a narrow subset - for example invoices and QuickBooks together - rather than treating the entire surface as one tool.

### Can I limit what my agent is allowed to do with the bidbuild API?

Yes. Because Jentic One is self-hosted, your own rules decide which bidbuild operations and credentials the agent can use, so you can grant read-only calls like GET `/api/v1/invoices` and GET `/api/v1/invoices/aggregate/totals` while withholding the rest. Since bidbuild puts the invoice id in the URL path, you can pin the agent to a single invoice, letting it read that record and its totals and nothing else. Write actions such as POST `/api/v1/invoices/{id}/mark_as_paid` or releasing an invoice to QuickBooks via POST `/api/v1/invoices/{id}/quickbooks` are not available to the agent unless you explicitly add them.
