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

read

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

Parameters: list_contacts
NameTypeDescription
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
curl https://cotlet.dev/api/v1/wild-apricot/contacts \
  -H "Authorization: Bearer $COTLET_API_KEY"
Python
result = client.call("wild-apricot", "list_contacts")
Node.js
const result = await cotlet.call('wild-apricot', 'list_contacts');
CLI
cotlet call wild-apricot list_contacts

Example response

JSON

{
  "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"
}

Sign in once. Your agent does the rest.

Sign up and add the apps you need. Free 7-day trial with 2,000 credits, no card needed.