Filter customers
Changed onFilter customers using comprehensive query criteria with AND/OR logic and multiple operators. Supports complex filtering similar to GraphQL capabilities. Note: Soft-deleted customers are excluded by default (deletedAt defaults to { isNull: true }).
Request
- Base URL: https://api.mvmnt.io/v1
- URL: https://api.mvmnt.io/v1/customers/filter
- Auth: HTTP bearer
Request body
Example request
{
"filter": {
"and": [
{
"status": {
"equalTo": "ACTIVE"
}
},
{
"industry": {
"equalTo": "MANUFACTURING"
}
}
]
},
"pageSize": 50
}Response
Successful response
Example response
{
"data": [
{
"object": "CUSTOMER",
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Acme Manufacturing Corp",
"friendlyId": "A123456",
"website": "https://acme-manufacturing.com",
"phoneNumber": "+1-555-123-4567",
"naics": "336411",
"ein": "12-3456789",
"duns": "123456789",
"leadSource": "Referral",
"dbaName": "Acme Corp DBA",
"externalId": "EXT-12345",
"creditLimit": 50000,
"creditUsageWarning": 40000,
"freeCreditReq": 5000,
"defaultMargin": 0.15,
"minMargin": 0.1,
"maxMargin": 0.25,
"defaultInternalNotes": "Contact via email only",
"defaultCarrierNotes": "Call pickup contact before arrival",
"defaultExternalNotes": "Please call 1 hour before delivery",
"group": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"key": "ERP-USER-12345"
},
"paymentTerm": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"key": "ERP-PAYTERM-NET30",
"name": "Net 30",
"description": "Payment due 30 days from invoice date",
"days": 30,
"quickPayFee": 5,
"createdAt": "2025-01-15T10:00:00Z",
"updatedAt": "2025-01-15T14:30:00Z"
},
"notes": "Prefers email communication",
"closedBy": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"key": "ERP-USER-12345",
"email": "john.doe@example.com",
"name": "John Doe",
"phone": "+1-555-123-4567",
"phoneExt": "123",
"status": "ACTIVE",
"avatarId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"createdAt": "2025-01-15T10:00:00Z",
"updatedAt": "2025-01-15T14:30:00Z"
},
"corporateAddress": {
"line1": "123 Main St",
"line2": "Suite 400",
"city": "Chicago",
"state": "IL",
"zipCode": "60601",
"country": "USA",
"market": "CHI",
"latitude": "41.8781",
"longitude": "-87.6298",
"isSmartyValidated": true,
"obeysDst": true
},
"billingAddress": {
"line1": "123 Main St",
"line2": "Suite 400",
"city": "Chicago",
"state": "IL",
"zipCode": "60601",
"country": "USA",
"market": "CHI",
"latitude": "41.8781",
"longitude": "-87.6298",
"isSmartyValidated": true,
"obeysDst": true
},
"key": "ERP-CUSTOMER-12345",
"contacts": [
{
"object": "CUSTOMER_CONTACT",
"id": "550e8400-e29b-41d4-a716-446655440000",
"key": "ERP-CONTACT-JOHN-001",
"name": "John Smith",
"contactInfo": {
"name": "John Smith",
"email": "john.smith@example.com",
"phoneNumber": "+1-555-0100",
"title": "Operations Manager"
},
"phoneExtension": "1234",
"isPrimary": true,
"contactTypes": [
"BILLING",
"ACCOUNT_MANAGER"
],
"notifications": [
"SHIPMENT_PICKED_UP",
"SHIPMENT_DELIVERED"
],
"invitedUser": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"key": "ERP-USER-12345",
"email": "john.doe@example.com",
"name": "John Doe",
"phone": "+1-555-123-4567",
"phoneExt": "123",
"status": "ACTIVE",
"avatarId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"createdAt": "2025-01-15T10:00:00Z",
"updatedAt": "2025-01-15T14:30:00Z"
},
"deletedBy": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"key": "ERP-USER-12345",
"email": "john.doe@example.com",
"name": "John Doe",
"phone": "+1-555-123-4567",
"phoneExt": "123",
"status": "ACTIVE",
"avatarId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"createdAt": "2025-01-15T10:00:00Z",
"updatedAt": "2025-01-15T14:30:00Z"
},
"createdAt": "2025-01-15T10:00:00Z"
}
],
"createdAt": "2025-01-15T10:00:00Z",
"updatedAt": "2025-01-15T14:30:00Z",
"deletedBy": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"key": "ERP-USER-12345",
"email": "john.doe@example.com",
"name": "John Doe",
"phone": "+1-555-123-4567",
"phoneExt": "123",
"status": "ACTIVE",
"avatarId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"createdAt": "2025-01-15T10:00:00Z",
"updatedAt": "2025-01-15T14:30:00Z"
}
}
],
"pagination": {
"pageSize": 50,
"hasNextPage": true,
"endCursor": "eyJpZCI6IjU1MGU4NDAwLWUyOWItNDFkNC1hNzE2LTQ0NjY1NTQ0MDAwMCJ9"
},
"errors": [
{
"field": "/required",
"message": "missing property 'status'"
}
]
}Changes
- breaking
the response's body type changed from
objectto no type for status - breaking
removed the required property
from the response with the status - breaking
removed the required property
from the response with the status - breaking
removed the required property
from the response with the status - breaking
removed the required property
from the response with the status - breaking
removed the required property
from the response with the status - breaking
removed the required property
from the response with the status - breaking
removed the required property
from the response with the status - breaking
removed the required property
from the response with the status - breaking
removed the required property
from the response with the status - warning
the optional response header
X-RateLimit-Resetremoved for the status429 - info
added
subschema #2to the response bodyallOflist for the response status - info
media type
application/jsonwas changed to a more specific media typeapplication/problem+jsonfor the response status - info
media type
application/jsonwas changed to a more specific media typeapplication/problem+jsonfor the response status - info
media type
application/jsonwas changed to a more specific media typeapplication/problem+jsonfor the response status - info
media type
application/jsonwas changed to a more specific media typeapplication/problem+jsonfor the response status - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
added the required property
to the response with the status - info
added the required property
to the response with the status - info
added the required property
to the response with the status - info
added the required property
to the response with the status - info
added the required property
to the response with the status - info
added the required property
to the response with the status - info
added the required property
to the response with the status - info
added the required property
to the response with the status - info
added the required property
to the response with the status
- breaking
- warning
added the new
BULKenum value to the//////response property for the response status - info
added the new
BULKenum value to the request property// - info
added the new
BULKenum value to the request property/// - info
added the new
BULKenum value to the request property// - info
added the new
BULKenum value to the request property///
- warning