Skip to content

Aggregate contact totals and breakdown by type

GET
/contacts/summary
curl --request GET \
--url https://app.buildworkpro.com/api/v1/contacts/summary \
--header 'Authorization: Bearer <token>'

Returns the total contact count plus a breakdown by type (customer / vendor / subcontractor / …). Date filter applies to createdAt and is inclusive on both bounds. Use this instead of contacts list + walk-and-count when you only need roll-ups.

dateFrom
string format: date-time
dateTo
string format: date-time

Contact summary

Media type application/json
object
data
required
object
totals
required
object
count
required
integer
by_type
required
Array<object>
object
type
required
string
count
required
integer
meta
required
object
request_id

Server-generated request identifier

string
pagination
object
cursor
required

Opaque cursor for the next page; null when no more results

string | null
has_more
required

Whether more pages are available after this one

boolean
count
required

Items in this page

integer
Example generated
{
"data": {
"totals": {
"count": 1
},
"by_type": [
{
"type": "example",
"count": 1
}
]
},
"meta": {
"request_id": "example",
"pagination": {
"cursor": "example",
"has_more": true,
"count": 1
}
}
}

Scope insufficient

Media type application/problem+json
object
type
required

URL identifying the problem type

string format: uri
title
required

Short human-readable summary

string
status
required

HTTP status code

integer
detail

Human-readable explanation

string
request_id

Server-generated request identifier

string
errors

Validation error array (422 only)

Array<object>
object
field
required

Field path that failed validation

string
code
required

Validation error code

string
message
required

Human-readable validation message

string
Example generated
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}

Validation failed

Media type application/problem+json
object
type
required

URL identifying the problem type

string format: uri
title
required

Short human-readable summary

string
status
required

HTTP status code

integer
detail

Human-readable explanation

string
request_id

Server-generated request identifier

string
errors

Validation error array (422 only)

Array<object>
object
field
required

Field path that failed validation

string
code
required

Validation error code

string
message
required

Human-readable validation message

string
Example generated
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}