# List contacts Returns a list of contacts (customers and leads) in your organization using cursor-based pagination. ### Query Parameters - limit - Number of contacts to return (1-100, default 10) - cursor - Cursor from previous response for pagination - contactType - Filter by contact type: "customer" (default), "lead", or "all" ### Response Format Returns a list object with: - object - Always "list" - data - Array of contact objects - nextCursor - Cursor for the next page, or null if no more results ### Contact Object Each contact includes: - id - Unique contact identifier - userId - External user ID from SSO (if set) - email - Contact email address - name - Contact display name - profilePicture - Profile picture URL - type - Contact type ("customer" or "lead") - companies - Array of companies the contact belongs to - customFields - Custom field values - postsCreated - Number of posts created - commentsCreated - Number of comments created - lastActivity - Last activity timestamp ### Example json { "object": "list", "data": [ { "object": "contact", "id": "676f0f6765bdaa7d7d760f88", "email": "john@example.com", "name": "John Doe", "type": "customer", ... } ], "nextCursor": "eyJpZCI6IjUwN2YxZjc3YmNmODZjZDc5OTQzOTAxMSJ9" } ### Version Availability This endpoint is only available in API version 2026-01-01.nova and newer. Endpoint: GET /v2/contacts Version: 2026-01-01.nova Security: bearerAuth ## Header parameters: - `Featurebase-Version` (string) API version for this request. Defaults to your organization's configured API version if not specified. Example: "2026-01-01.nova" ## Query parameters: - `limit` (integer) A limit on the number of objects to be returned, between 1 and 100. Example: 10 - `cursor` (string) An opaque cursor for pagination. Use the nextCursor value from a previous response to fetch the next page of results. Example: "eyJpZCI6IjUwN2YxZjc3YmNmODZjZDc5OTQzOTAxMSJ9" - `contactType` (string) Filter contacts by type. Defaults to "customer". Enum: "customer", "lead", "all" ## Response 200 fields (application/json): - `object` (string, required) Object type identifier Enum: "list" - `data` (array, required) Array of contacts Example: [] - `data.id` (string, required) Unique identifier Example: "676f0f6765bdaa7d7d760f88" - `data.userId` (string) External user ID from SSO Example: "676f0f673dbb299c8a4f3057" - `data.organizationId` (string) Organization ID the contact belongs to Example: "5febde12dc56d60012d47db6" - `data.companies` (array) Companies the contact belongs to Example: [] - `data.companies.id` (string, required) Featurebase internal ID Example: "507f1f77bcf86cd799439011" - `data.companies.companyId` (string, required) External company ID from your system Example: "comp_12345" - `data.companies.name` (string, required) Company name Example: "Acme Inc" - `data.companies.monthlySpend` (number,null, required) Monthly spend Example: 5000 - `data.companies.industry` (string,null, required) Industry Example: "Technology" - `data.companies.website` (string,null, required) Company website URL Example: "https://acme.com" - `data.companies.plan` (string,null, required) Plan or tier name Example: "enterprise" - `data.companies.linkedUsers` (number,null, required) Number of users linked to this company Example: 15 - `data.companies.companySize` (number,null, required) Company employee headcount Example: 250 - `data.companies.lastActivity` (string,null, required) ISO date of last activity Example: "2025-01-15T00:00:00.000Z" - `data.companies.customFields` (object) Custom field values Example: {"location":"Europe","priority":"high"} - `data.companies.createdAt` (string,null, required) ISO date when company was created Example: "2025-01-01T12:00:00.000Z" - `data.companies.updatedAt` (string,null, required) ISO date when company was last updated Example: "2025-01-10T15:30:00.000Z" - `data.email` (string,null) Contact email Example: "john@example.com" - `data.name` (string, required) Contact display name Example: "John Steezy" - `data.profilePicture` (string,null) Profile picture URL Example: "https://fb-usercontent.fra1.cdn.digitaloceanspaces.com/anon_23.png" - `data.commentsCreated` (number) Number of comments created - `data.postsCreated` (number) Number of posts created - `data.lastActivity` (string) Last activity ISO timestamp Example: "2025-01-03T21:42:30.181Z" - `data.subscribedToChangelog` (boolean) Whether subscribed to changelog Example: true - `data.manuallyOptedOutFromChangelog` (boolean) Whether manually opted out from changelog - `data.roles` (array) Contact roles Example: [] - `data.locale` (string) Contact locale Example: "en" - `data.verified` (boolean) Whether email is verified Example: true - `data.type` (string, required) Type of contact Enum: "customer", "lead" - `data.description` (string) Contact description/bio - `data.customFields` (object) Custom field values on the contact - `nextCursor` (string,null, required) Cursor for fetching the next page (cursor-based pagination) Example: "eyJpZCI6IjUwN2YxZjc3YmNmODZjZDc5OTQzOTAxMSJ9" ## Response 400 fields (application/json): - `error` (object, required) - `error.type` (string, required) The type of error returned Enum: "invalid_request_error" - `error.code` (string, required) Machine-readable error code Enum: "invalid_cursor" - `error.message` (string, required) Human-readable error message Example: "An error occurred" - `error.param` (string) The parameter that caused the error (if applicable) Example: "id" - `error.status` (number, required) HTTP status code Enum: 400