← All action domains

Enrichment

2 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.

Enrichment history

enrichment.historyread

List what enrichment has done to a contact, newest first: for each run and step, which fields were filled with what values, which steps were skipped and why (paywall, paid lookups off, cap reached), and the estimated cost of any paid lookups.

Also answers to enrichment log, enrichment provenance.

Parameters

FieldTypeRequiredDescription
limitintegeroptionalMax rows to return (1–100). Default: 25
offsetintegeroptionalRows to skip. Default: 0
contact_idstring (uuid)requiredThe contact whose enrichment history to read.

Example

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

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

Enrich contact

enrichment.runwriteconfirm

Fill a contact's EMPTY fields by cascading through data sources the account already has, cheapest first: facts captured about them as a tracked website visitor, the company domain inferred from a business email, the Domain Leads WHOIS database (only when the account owns that app), and a queued line-type lookup on the account's own Twilio (~$0.008). With allow_paid=true it may additionally spend ONE Outscraper Google-Maps lookup per contact (~$0.003, billed to its own Outscraper account) for business contacts still missing phone/address details. Existing values are never overwritten — this only fills blanks — and every step is recorded in the enrichment history with what it filled and what it cost.

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.

Also answers to waterfall enrichment, data append, fill in contact.

Parameters

FieldTypeRequiredDescription
contact_idstring (uuid)requiredThe contact to enrich.
allow_paidbooleanoptionalAllow the paid Outscraper Google-Maps lookup (~$0.003 per contact, billed to its own Outscraper account). Off by default: free and cached sources only. Default: false
max_paid_lookupsintegeroptionalCeiling on paid lookups this run may spend. Defaults to 25. Only meaningful with allow_paid=true.

Example

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

Over MCP the same operation is the tool enrichment_run 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=enrichment — same operations, with full JSON Schemas. Authentication, errors and rate limits are covered in the API documentation home.