ContactZapp

app.contactz/contactzapp · v1.0.0 · sales-and-crm

ContactZapp is healthy: it completed an MCP handshake in 2178 ms and exposes 10 tools.

Find, add and update the contacts in your ContactZapp account.

Endpoint: https://app.contactz.app/api/v1/mcp (streamable-http)

No repository listed · Website · JSON · Add to my inventory

Facts

Users (last 30 days)0
HandshakeHealthy
Auth neededNone
Tool count10
Latency2178 ms
Last checked (UTC)2026-11-03T14:20:26.771Z

Health history

Checked (UTC)StatusLatencyError
2026-11-03T14:20:26.771ZHealthy2178

Tools (10)

getV1MeChecks an API key. Returns the user the key acts for, the user's plan and the key's scopes. Any live key may call it, so it is the call to make when you want to test a key. Send the key in every request as `Authorization: Bearer <key>`. Each operation names the scope it needs; a key without that sc
listV1ContactsFinds the user's contacts, or lists them. Give at most one of `email`, `phone` and `query`: - `email` and `phone` find the contacts that hold that address or number. An email is compared ignoring case, and a phone number ignoring formatting. - `query` is the same free-text search the Contacts s
createV1ContactCreates a contact. It is treated like a contact that arrives from a sync. The contact is written to one of the user's two-way accounts, which ContactZapp chooses: the earliest-linked account that keeps an address book and is not paused. The sync then copies it to every other two-way account, and ne
getV1ContactReturns one contact. `id` is the contact's `id` or its `publicId` (`CS-0042`). A deleted or merged contact is a 404, and so is another user's contact.
updateV1ContactChanges a contact's fields, as the app's edit does. Only the fields in the body change; a field the body leaves out keeps its value. The change is recorded in History as the user's, naming the API key, and written to every two-way account the contact is in, never to a read-only one. A contact waiti
postV1SyncStarts a sync, the same as pressing Sync now in ContactZapp. The run shows in History as a manual run. The answer is 202 with the state of the sync: `queued` or `running`. If a sync is already going, you get that one back and no second one starts. Needs the `sync:trigger` scope.
listV1AccountsLists the user's linked accounts, as the Settings screen does: provider, name, sync direction, connection state and when each account last synced.
listV1TriggerEventsPolling trigger: returns the newest events of one type first. This is what Zapier, Make and n8n poll to start an automation. Each item has an `id` that never changes. Polling again with nothing new returns the same ids, and a new event appears at the top. Deduplicate by `id`. `contact.created`, `co
listV1WebhooksLists the webhook subscriptions of this API key's user, oldest first: the URL, the event and whether it is `active` or `disabled`. The signing secret is never shown again after the subscription is made. Needs the `webhooks:manage` scope.
createV1WebhookSubscribes a URL to one event. Zapier, Make and n8n call this when an automation is switched on. The URL must use HTTPS and reach a public address. The answer is 201 with the subscription and its signing `secret`, which is shown only here. Needs the `webhooks:manage` and `contacts:read` scopes. A us