List contacts

GET https://app.speybooks.com/api/v1/contacts/

Returns a paginated list of contacts for the authenticated organisation, sorted alphabetically by name. Default pagination: page 1, 50 per page (max 100).

Use query parameters to filter by type, active status, or free-text search. The search parameter matches against name, company, and email using case-insensitive partial matching.

Type filtering is inclusive: filtering for customer returns contacts with type customer or both. Filtering for both returns only contacts explicitly marked as dual-role.

Query parameters

active boolean optional Default: true
Filter by active status. Defaults to true.
page integer optional Default: 1
Page number. Default 1.
min: 1
perPage integer optional Default: 50
Results per page. Default 50, maximum 100.
min: 1 · max: 100
search string optional
Search by name, company, or email (case-insensitive partial match).
type string optional
Filter by contact type. Contacts marked "both" are included when filtering by customer or supplier.
customersupplierboth

Response

200 Paginated list of contacts, sorted alphabetically by name.
Show response fields
contacts array<object>
Show child attributes
company string
contactType string
email string
id string
isActive boolean
name string