← All action domains

Documents

5 operations. Call each with POST https://app.chirply.io/api/v1/actions/<name> and a bearer token; the response is { "data": { "action", "summary", "result" } }. A read badge means the operation changes nothing; write requires the credential’s write scope.

New document

documents.createwriteadmin only

Create a draft proposal, estimate, or contract. This saves a private draft only; it does not email the recipient or create a charge.

Parameters

FieldTypeRequiredDescription
kind"proposal" | "estimate" | "contract"optionalWhether to create a proposal, estimate, or contract. Default: "proposal"
titlestringrequiredRecipient-facing document title.
recipient_namestringoptionalName of the person expected to review and sign.
recipient_emailstring (email)optionalEmail address to use when the document is sent.
contact_idstring (uuid)optionalOptional CRM contact to link to the document.
invoice_idstring (uuid)optionalOptional existing invoice whose pricing and pay page follow acceptance.

Example

curl -X POST https://app.chirply.io/api/v1/actions/documents.create \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Example"
  }'
Test with your API key

Over MCP the same operation is the tool documents_create at https://app.chirply.io/api/mcp, same bearer token, same input.

Open document

documents.getread

Fetch one proposal, estimate, or contract with its linked invoice, signature certificate data, and audit trail. This only reads data.

Parameters

FieldTypeRequiredDescription
idstring (uuid)requiredThe document id to open.

Example

curl -X POST https://app.chirply.io/api/v1/actions/documents.get \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11"
  }'
Test with your API key

Over MCP the same operation is the tool documents_get at https://app.chirply.io/api/mcp, same bearer token, same input.

List documents

documents.listread

List the account's proposals, estimates, and contracts, including delivery and signature status. This only reads data and sends nothing.

Parameters

FieldTypeRequiredDescription
status"draft" | "sent" | "viewed" | "signed" | "declined" | "expired" | … 1 moreoptionalOnly documents currently in this lifecycle status.
querystringoptionalText to match in the document title.
limitintegeroptionalMaximum documents to return, from 1 to 100. Default: 50

Example

curl -X POST https://app.chirply.io/api/v1/actions/documents.list \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "status": "draft",
    "query": "example"
  }'
Test with your API key

Over MCP the same operation is the tool documents_list at https://app.chirply.io/api/mcp, same bearer token, same input.

Send for signature

documents.sendwriteconfirmadmin only

Immediately emails the real recipient a private link to review and electronically sign this document through a connected email identity. Sending email can incur the account's provider charges. No payment is taken until the recipient separately completes the linked invoice.

Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.

Parameters

FieldTypeRequiredDescription
idstring (uuid)requiredThe prepared document to send or resend.
email_identity_idstring (uuid) (or null)optionalOptional connected sender identity; defaults to the contact or account preference.

Example

curl -X POST https://app.chirply.io/api/v1/actions/documents.send \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11"
  }'
Test with your API key

Over MCP the same operation is the tool documents_send at https://app.chirply.io/api/mcp, same bearer token, same input.

Save changes

documents.updatewriteadmin only

Edit a draft or outstanding commercial document. Signed, declined, expired, and archived records are immutable. This saves changes but sends no email and creates no charge.

Parameters

FieldTypeRequiredDescription
idstring (uuid)requiredThe document id to update.
kind"proposal" | "estimate" | "contract"optionalNew document type.
titlestringoptionalNew recipient-facing title.
recipient_namestring (or null)optionalRecipient name, or null to clear it.
recipient_emailstring (email) (or null)optionalRecipient email, or null to clear it.
contact_idstring (uuid) (or null)optionalCRM contact id, or null to unlink it.
invoice_idstring (uuid) (or null)optionalInvoice id for pricing and payment after acceptance, or null to unlink it.
introductionstringoptionalOpening text shown before scope and pricing.
scopestringoptionalScope, deliverables, and timeline text.
termsstringoptionalContract and payment terms.
acceptance_textstringoptionalStatement the recipient explicitly agrees to when signing.
require_signaturebooleanoptionalWhether the recipient must type an electronic signature.
expires_atstring (date-time) (or null)optionalWhen the signing link expires, or null for no expiration.

Example

curl -X POST https://app.chirply.io/api/v1/actions/documents.update \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11"
  }'
Test with your API key

Over MCP the same operation is the tool documents_update at https://app.chirply.io/api/mcp, same bearer token, same input.

The machine-readable version of this page is GET https://app.chirply.io/api/v1/actions?domain=documents — same operations, with full JSON Schemas. Authentication, errors and rate limits are covered in the API documentation home.