Skip to main content

Create an agreement proposal

POST 

/api/v1/estimates/agreements

Build ONE annual service agreement from this tenant's agreement-backed services and return the public customer link.

Each line names a service by its family_key (GET-able as company_service through Megan; the Services screen shows the same keys). Only a service whose status is live or testing may be quoted. Line totals are ANNUAL values; the payment schedule and the prepay discount come from the company billing policy, not from the request.

This publishes a live public link the moment it succeeds, and there is no call that unpublishes one. Send idempotencyKey and reuse it on every retry: a replay returns the SAME proposal with reused: true and creates nothing.

Scope: write_crm.

Request​

Responses​

Proposal created, or replayed when an idempotency key matched.