List contacts
Contacts and members with their level, status and renewal date; filter by name, email or status.
GET https://cotlet.dev/api/v1/wild-apricot/contacts
Returns contacts the way the Contacts list shows them, a page at a time; pass next_cursor back as cursor for the next page. membership_status is one of Active, Lapsed, Pending - New, Pending - Renewal, Pending - Level change or Suspended. A contact who is not a member has no level and no status. member_since and renewal_due come from the Membership tab. Archived contacts are left out.
Parameters
| Name | Type | Description |
|---|---|---|
| search string | string | Part of a name or an email address. |
| membership_status enum | enum | Active, Lapsed, Pending - New, Pending - Renewal, Pending - Level change or Suspended. |
| membership_level string | string | Level name from list_membership_levels. |
| cursor string | string | Next page cursor from the previous call. |
Request
curl https://cotlet.dev/api/v1/wild-apricot/contacts \
-H "Authorization: Bearer $COTLET_API_KEY" result = client.call("wild-apricot", "list_contacts") const result = await cotlet.call('wild-apricot', 'list_contacts'); cotlet call wild-apricot list_contacts Example response
{
"contacts": [
{
"contact_id": 48213,
"name": "Nora Elwood",
"email": "nora@example.com",
"membership_level": "Individual",
"membership_status": "Pending - New",
"member_since": null,
"renewal_due": null
},
{
"contact_id": 47990,
"name": "Sam Okafor",
"email": "sam@example.com",
"membership_level": "Student",
"membership_status": "Active",
"member_since": "2025-09-04",
"renewal_due": "2026-09-04"
}
],
"next_cursor": "2"
}