search_contacts
Finds contacts by name, phone number or email (partial match), and filters by tag, opt-in status or creation time. Returns one page, newest first, with a cursor for the next page. Use get_contact for one contact.
| Tool name | search_contacts |
| Permission | contacts:read |
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| REST call | GET /v1/contacts |
#What it does
- Only reads data. It changes nothing and sends nothing.
#Input
The tool takes one flat object. Path, query and body fields of the REST call are merged into it.
| Name | Type | Required | Description |
|---|---|---|---|
limit | integer | no | Items per page (1 to 100, default 20). 1 to 100; default 20 |
cursor | string | no | next_cursor from the previous page. Opaque; only valid with the same filters. up to 300 characters |
query | string | no | Name, phone number or email, or part of it. Case does not matter. up to 100 characters |
tag | string | no | Only contacts with this tag. Case does not matter. up to 60 characters |
optin_whatsapp | string | no | Only contacts with this WhatsApp opt-in status. one of: none, pending, confirmed, opted_out |
created_after | string | no | Only contacts created after this time (ISO 8601). up to 40 characters; format date-time |
created_before | string | no | Only contacts created before this time (ISO 8601). up to 40 characters; format date-time |
Arguments added by the MCP server (see Special arguments)
| Name | Type | Required | Description |
|---|---|---|---|
detail | string | no | concise (default): key fields per item. full: every field. one of: concise, full; default "concise" |
#Result
The result has the same content as the REST answer. Lists have at most 50 items per page (default 20); use cursor for the next page.
Errors come back as a tool result with isError: true. The error codes are the ones in Errors.