Customers
Search customers
Search customers using OpenSearch-powered full-text and field-specific search.
This endpoint provides fast, indexed search across customer data with support for:
- Full-text search across multiple fields
- Field-specific filtering with various operators
- Sorting and pagination
- Saved search preferences
Note: Only active (non-deleted) customers are searchable. Soft-deleted records are automatically excluded from all search results.
Response Formats:
- flat (default): Returns indexed fields only for faster performance
- full: Returns complete customer objects with all relationships
post/customers/search
Request body
Example request
{
"criteria": {
"id": {
"operator": "EQUALS",
"values": [
"550e8400-e29b-41d4-a716-446655440000"
]
},
"friendlyId": {
"operator": "ONE_OF",
"values": [
"ACTIVE",
"PENDING"
]
},
"name": {
"operator": "INCLUDES",
"values": [
"search term"
]
},
"dbaName": {
"operator": "INCLUDES",
"values": [
"search term"
]
},
"status": {
"operator": "ONE_OF",
"values": [
"ACTIVE",
"PENDING"
]
},
"city": {
"operator": "INCLUDES",
"values": [
"search term"
]
},
"state": {
"operator": "ONE_OF",
"values": [
"ACTIVE",
"PENDING"
]
},
"location": {
"operator": "INCLUDES",
"values": [
"search term"
]
},
"zip": {
"operator": "ONE_OF",
"values": [
"ACTIVE",
"PENDING"
]
},
"country": {
"operator": "ONE_OF",
"values": [
"ACTIVE",
"PENDING"
]
},
"teamId": {
"operator": "EQUALS",
"values": [
"550e8400-e29b-41d4-a716-446655440000"
]
},
"teamName": {
"operator": "INCLUDES",
"values": [
"search term"
]
},
"userIds": {
"operator": "EQUALS",
"values": [
"550e8400-e29b-41d4-a716-446655440000"
]
},
"userNames": {
"operator": "INCLUDES",
"values": [
"search term"
]
},
"accountOwnerId": {
"operator": "EQUALS",
"values": [
"550e8400-e29b-41d4-a716-446655440000"
]
},
"accountOwnerName": {
"operator": "INCLUDES",
"values": [
"search term"
]
},
"operatedById": {
"operator": "EQUALS",
"values": [
"550e8400-e29b-41d4-a716-446655440000"
]
},
"operatedByName": {
"operator": "INCLUDES",
"values": [
"search term"
]
},
"primaryContactName": {
"operator": "INCLUDES",
"values": [
"search term"
]
},
"primaryContactEmail": {
"operator": "INCLUDES",
"values": [
"search term"
]
},
"primaryContactPhone": {
"operator": "INCLUDES",
"values": [
"search term"
]
},
"serviceTier": {
"operator": "ONE_OF",
"values": [
"ACTIVE",
"PENDING"
]
},
"yearsInBusiness": {
"operator": "ONE_OF",
"values": [
"ACTIVE",
"PENDING"
]
},
"numberOfEmployees": {
"operator": "ONE_OF",
"values": [
"ACTIVE",
"PENDING"
]
},
"industry": {
"operator": "ONE_OF",
"values": [
"ACTIVE",
"PENDING"
]
},
"sic": {
"operator": "ONE_OF",
"values": [
"ACTIVE",
"PENDING"
]
},
"naics": {
"operator": "ONE_OF",
"values": [
"ACTIVE",
"PENDING"
]
},
"paymentTermName": {
"operator": "ONE_OF",
"values": [
"ACTIVE",
"PENDING"
]
},
"creditLimit": {
"operator": "GREATER_THAN",
"value": 1000.5
},
"outstandingBalance": {
"operator": "GREATER_THAN",
"value": 1000.5
},
"totalRevenue": {
"operator": "GREATER_THAN",
"value": 1000.5
},
"totalTransportationCost": {
"operator": "GREATER_THAN",
"value": 1000.5
},
"totalGrossProfit": {
"operator": "GREATER_THAN",
"value": 1000.5
},
"ordersCount": {
"operator": "BETWEEN",
"min": 10,
"max": 100
},
"quotesCount": {
"operator": "BETWEEN",
"min": 10,
"max": 100
},
"quotesWon": {
"operator": "BETWEEN",
"min": 10,
"max": 100
},
"quoteWinRate": {
"operator": "GREATER_THAN",
"value": 1000.5
},
"mostRecentOrderCreationAt": {
"operator": "AFTER",
"value": "2025-01-01T00:00:00Z"
},
"nextFollowUp": {
"operator": "BETWEEN",
"min": "2025-01-01",
"max": "2025-01-31"
},
"lastOutreach": {
"operator": "AFTER",
"value": "2025-01-01T00:00:00Z"
},
"quickbooksCustomerId": {
"operator": "ONE_OF",
"values": [
"ACTIVE",
"PENDING"
]
},
"tags": {
"operator": "INCLUDES",
"values": [
"search term"
]
},
"createdAt": {
"operator": "AFTER",
"value": "2025-01-01T00:00:00Z"
},
"updatedAt": {
"operator": "AFTER",
"value": "2025-01-01T00:00:00Z"
}
},
"pagination": {
"pageNumber": 1,
"pageSize": 50
},
"sort": [
{
"field": "createdAt",
"order": "desc"
}
],
"savedSearch": {
"id": "550e8400-e29b-41d4-a716-446655440000"
}
}Response
Successful search results
Example response
{
"data": [
{
"friendlyId": "CUST-0001"
}
],
"pagination": {
"pageNumber": 1,
"pageSize": 50,
"totalPages": 25
}
}