Read endpoints require the
contact_lists:read scope. Create and update endpoints require contact_lists:write.The Contact List object
Unique identifier for the contact list.
Human-readable name of the list.
When set, new entries added to this list are automatically enrolled into the referenced sequence template.
Current number of entries in the list.
Timestamp when the list was created.
Timestamp when the list was last modified.
The Contact List Entry object
Unique identifier for the entry.
ID of the contact list this entry belongs to.
ID of the verified contact this entry resolved to, once Topo’s enrichment pipeline has matched it.
null until resolution is complete.Email address supplied at creation.
First name.
Last name.
LinkedIn profile URL.
Employer name.
Employer’s primary domain.
Job title.
Phone number.
Free-form notes attached to the entry.
Person’s location string as supplied.
Timestamp when the entry was created.
Timestamp when the entry was last modified.
List contact lists
GET /v1/contact-lists
Returns a paginated list of all contact lists in your workspace.
Query parameters
Exact-match filter on the list name.
Returns lists created strictly after this timestamp.
Returns lists created strictly before this timestamp.
Field to sort by. One of
created_at, updated_at, or name.Page number (1-indexed).
Results per page. Maximum
100.Response
Returns a paginated envelope withitems, total_count, total_pages, and has_more.
Create contact lists
POST /v1/contact-lists
Creates one or more contact lists in a single request. The endpoint follows batch semantics — it either creates all items or fails entirely; no partial results are returned.
Request body
Array of contact list objects to create. Maximum 100 items per request.
Response
Returns a batch response envelope.Per-item results in the same order as the request.
Get a contact list
GET /v1/contact-lists/{contact_list_id}
Fetches a single contact list by its UUID.
Path parameters
The unique identifier of the contact list.
Update a contact list
PATCH /v1/contact-lists/{contact_list_id}
Updates mutable fields on an existing contact list. Only fields included in the request body are changed.
Path parameters
The unique identifier of the contact list.
Request body
New name for the list. Must be at least 1 character.
New default sequence template. Pass
null explicitly to clear the association; omitting the field leaves it unchanged.List entries in a contact list
GET /v1/contact-entries
Returns a paginated list of entries belonging to the specified contact list.
Query parameters
The contact list to scope the query to.
Exact-match filter on entry email.
Exact-match filter on the entry’s company domain.
When
true, returns only entries that have been matched to a verified contact. When false, returns only unresolved entries.Returns entries created strictly after this timestamp.
Returns entries created strictly before this timestamp.
Field to sort by. One of
created_at, updated_at, email, or last_name.Page number.
Results per page. Maximum
100.Add entries to a contact list
POST /v1/contact-entries
Adds up to 100 people to one or more contact lists in a single request. Each entry requires at least one of email or linkedin_url for Topo to resolve the identity.
Topo’s enrichment pipeline processes entries asynchronously after creation. The
contact_id field on each entry will be null immediately after creation and populated once the match is confirmed.Request body
Array of contact entry objects. Maximum 100 items per request.