# Agree API

**Canonical:** https://apis.io/apis/agree-com/agree-api/  
**Provider:** Agree.com — https://apis.io/providers/agree-com/  
**Base URL:** https://secure.agree.com/api/v1  
**Documentation:** https://secure.agree.com/documentation

Agree API is published by [Agree.com](https://apis.io/providers/agree-com/) on the [APIs.io](https://apis.io/) network, described by a machine-readable OpenAPI specification and an AsyncAPI event-driven specification. Tagged areas include Agreements, Electronic Signature, Invoicing, Payments, and Contacts. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, an API reference, a getting-started guide, authentication docs, and an AsyncAPI specification.

REST API for the Agree contract-to-cash platform. 56 operations across six resources: Agreements (create from templates, assign signature fields to recipients, send, fetch executed PDFs, soft delete), Invoices (create, create-and-send in one call, recurring schedules, mark as sent or paid, invoice and receipt PDFs), Contacts and Customers (address book, soft delete), Reports (cash-flow stats and forecast, revenue by customer and MRR, recovery aging and leakage analysis), and Webhooks (endpoint registration with HMAC-SHA256 signed delivery over twelve event types). Authentication is a bearer API key issued from Settings > API Keys in the dashboard. Responses are wrapped in a data envelope with page/page_size pagination; validation failures return a field-keyed errors object rather than RFC 9457 problem+json.

## Operations (56)

| Method | Path | Summary |
|---|---|---|
| GET | `/api/v1/agreements` | List agreements |
| POST | `/api/v1/agreements` | Create agreement from template |
| POST | `/api/v1/agreements/create_and_send` | Create and send agreement |
| GET | `/api/v1/agreements/templates` | List agreement templates |
| GET | `/api/v1/agreements/templates/{id}` | Get template |
| DELETE | `/api/v1/agreements/{id}` | Delete agreement |
| GET | `/api/v1/agreements/{id}` | Get agreement |
| PATCH | `/api/v1/agreements/{id}` | Update agreement |
| PUT | `/api/v1/agreements/{id}` | Update agreement |
| GET | `/api/v1/agreements/{id}/pdf` | Download agreement PDF |
| POST | `/api/v1/agreements/{id}/send` | Send agreement |
| GET | `/api/v1/contacts` | List contacts |
| POST | `/api/v1/contacts` | Create contact |
| DELETE | `/api/v1/contacts/{id}` | Delete contact |
| GET | `/api/v1/contacts/{id}` | Get contact |
| PATCH | `/api/v1/contacts/{id}` | Update contact |
| PUT | `/api/v1/contacts/{id}` | Update contact |
| GET | `/api/v1/customers` | List customers |
| POST | `/api/v1/customers` | Create customer |
| GET | `/api/v1/customers/{id}` | Get customer |
| PATCH | `/api/v1/customers/{id}` | Update customer |
| PUT | `/api/v1/customers/{id}` | Update customer |
| GET | `/api/v1/invoices` | List invoices |
| POST | `/api/v1/invoices` | Create invoice |
| POST | `/api/v1/invoices/create_and_send` | Create and send invoice |
| DELETE | `/api/v1/invoices/{id}` | Delete invoice |
| GET | `/api/v1/invoices/{id}` | Get invoice |
| PATCH | `/api/v1/invoices/{id}` | Update invoice |
| PUT | `/api/v1/invoices/{id}` | Update invoice |
| POST | `/api/v1/invoices/{id}/mark_as_paid` | Mark invoice as paid |
| POST | `/api/v1/invoices/{id}/mark_as_sent` | Mark invoice as sent |
| GET | `/api/v1/invoices/{id}/pdf` | Download invoice PDF |
| GET | `/api/v1/invoices/{id}/receipt_pdf` | Download receipt PDF |
| POST | `/api/v1/invoices/{id}/send` | Send invoice |
| GET | `/api/v1/reports/cashflow/chart` | Cashflow chart data |
| GET | `/api/v1/reports/cashflow/forecast` | Cash forecast |
| GET | `/api/v1/reports/cashflow/outstanding_invoices` | Outstanding invoices |
| GET | `/api/v1/reports/cashflow/stats` | Cashflow statistics |
| GET | `/api/v1/reports/recovery/aging/chart` | Aging chart data |
| GET | `/api/v1/reports/recovery/aging/invoices` | Invoices by aging bucket |
| GET | `/api/v1/reports/recovery/aging/trend` | Aging trend |
| GET | `/api/v1/reports/recovery/leakage/stage_durations` | Stage duration statistics |
| GET | `/api/v1/reports/recovery/leakage/stalled_invoices` | Stalled invoices |
| GET | `/api/v1/reports/recovery/leakage/stats` | Leakage statistics |
| GET | `/api/v1/reports/recovery/leakage/waterfall` | Leakage waterfall |
| GET | `/api/v1/reports/revenue/chart` | Revenue chart data |
| GET | `/api/v1/reports/revenue/customers` | Customers by revenue |
| GET | `/api/v1/reports/revenue/customers_by_mrr` | Customers by MRR |
| GET | `/api/v1/reports/revenue/stats` | Revenue statistics |
| GET | `/api/v1/webhooks` | List webhook endpoints |
| POST | `/api/v1/webhooks` | Create webhook endpoint |
| POST | `/api/v1/webhooks/test` | Send test webhook |
| DELETE | `/api/v1/webhooks/{id}` | Delete webhook endpoint |
| GET | `/api/v1/webhooks/{id}` | Get webhook endpoint |
| PATCH | `/api/v1/webhooks/{id}` | Update webhook endpoint |
| PUT | `/api/v1/webhooks/{id}` | Update webhook endpoint |

## Machine-readable artifacts (14)

- **OpenAPI** — https://raw.githubusercontent.com/api-evangelist/agree-com/refs/heads/main/openapi/agree-com-api-openapi.json
- **Documentation** — https://secure.agree.com/documentation
- **APIReference** — https://secure.agree.com/documentation
- **GettingStarted** — https://secure.agree.com/documentation#section/Introduction/Quick-Start
- **Authentication** — https://secure.agree.com/documentation#section/Introduction/Authentication
- **Overlay** — https://raw.githubusercontent.com/api-evangelist/agree-com/refs/heads/main/overlays/agree-com-api-overlay.yaml
- **ErrorCatalog** — https://raw.githubusercontent.com/api-evangelist/agree-com/refs/heads/main/errors/agree-com-problem-types.yml
- **DataModel** — https://raw.githubusercontent.com/api-evangelist/agree-com/refs/heads/main/data-model/agree-com-data-model.yml
- **Conventions** — https://raw.githubusercontent.com/api-evangelist/agree-com/refs/heads/main/conventions/agree-com-conventions.yml
- **AsyncAPI** — https://raw.githubusercontent.com/api-evangelist/agree-com/refs/heads/main/asyncapi/agree-com-webhooks-asyncapi.yml
- **Webhooks** — https://raw.githubusercontent.com/api-evangelist/agree-com/refs/heads/main/asyncapi/agree-com-webhooks-asyncapi.yml
- **MCPServer** — https://raw.githubusercontent.com/api-evangelist/agree-com/refs/heads/main/mcp/agree-com-mcp.yml
- **ToolCrosswalk** — https://raw.githubusercontent.com/api-evangelist/agree-com/refs/heads/main/mcp/agree-com-tool-crosswalk.yml
- **APIsJSON** — https://raw.githubusercontent.com/api-evangelist/agree-com/refs/heads/main/apis.yml

## Tags

Agreements, Electronic Signature, Invoicing, Payments, Contacts, Reporting, Webhooks

---

Profiled by [API Evangelist](https://apievangelist.com) and published on [APIs.io](https://apis.io/apis/agree-com/agree-api/). The API's provider profile, Kin Score and agent-readiness rating are at https://apis.io/providers/agree-com/.
