The MarketBox API is a modular, API-first platform for building modern scheduling, booking and dispatch workflows for both mobile services and fixed locations. At its core is the Smart Clusters engine, which generates realistic, bookable availability by analyzing provider schedules, existing bookings, travel zones and real-world travel constraints. Instead of relying on static time slots or buffers, MarketBox returns appointment times that are physically feasible, route-aware and optimized to reduce travel, traffic and idle gaps.
Beyond availability intelligence, the API includes a full set of resource endpoints for managing services, providers, schedules, bookings, orders and more. This allows teams to enhance an existing booking flow or build a complete, white-labeled scheduling system end-to-end. MarketBox is designed to be embedded into websites, dispatcher tools, AI chat and voice agents, or third-party platforms, with near real-time responses returned in JSON for seamless integration into any workflow.
To get started, please contact support@gomarketbox.com to get an API key.
Endpoints for creating and reading Clients inside the MarketBox platform.
Get Clients
query Parameters
limit^\d+$Maximum number of items to return per page (default: 20, max: 100). Note: The actual number of items returned may be less than this value due to DynamoDB pagination, server-side filtering, or data availability. Always check 'pagination.nextCursor' to determine if more results are available.
Maximum number of items to return per page (default: 20, max: 100). Note: The actual number of items returned may be less than this value due to DynamoDB pagination, server-side filtering, or data availability. Always check 'pagination.nextCursor' to determine if more results are available.
nextCursorPagination cursor from a previous response. Pass the 'nextCursor' value from the previous response here to fetch the next page of results. Omit this parameter for the first page.
Pagination cursor from a previous response. Pass the 'nextCursor' value from the previous response here to fetch the next page of results. Omit this parameter for the first page.
emailadressFilter by client email address
Filter by client email address
Get Clients › Responses
Clients retrieved successfully
successIndicates the request was successful
Array of items for the current page. The length may be less than the requested 'limit' due to filtering or data availability.
Create Client
Send only the fields that need to be updated along with either the clientId or externalClientId
Headers
content-type^application\/json · requiredidempotency-keyUnique identifier for idempotent request handling. Must be a valid UUID. Use the same key to safely retry requests.
Create Client › Request Body
firstnameClient's first name
lastnameClient's last name
emailaddressClient's email address (will be converted to lowercase)
phonePhone number in E.164 format without spaces
notesNotes about the client
longitudeLongitude coordinate
latitudeLatitude coordinate
externalClientIdExternal system identifier
Additional external data as key-value pairs
Create Client › Responses
Client created successfully
clientIdUnique identifier for the client
firstnameClient's first name
lastnameClient's last name
emailaddressClient's email address
phoneClient's phone number
notesNotes about the client
longitudeLongitude coordinate
latitudeLatitude coordinate
externalClientIdExternal system identifier
Additional external data as key-value pairs
Update Client
Request should include only the fields that need to be updated. The request must include clientId or externalClientId.
Headers
content-type^application\/json · requiredidempotency-keyUnique identifier for idempotent request handling. Must be a valid UUID. Use the same key to safely retry requests.
Update Client › Request Body
clientIdMarketBox client ID
externalClientIdExternal system's client ID. Either clientId or externalClientId must be provided.
firstnameClient's first name
lastnameClient's last name
emailaddressClient's email address (will be converted to lowercase)
phonePhone number in E.164 format without spaces
notesNotes about the client. Set to null to clear existing notes.
longitudeLongitude coordinate
latitudeLatitude coordinate
Additional external data as key-value pairs
Update Client › Responses
Client updated successfully
clientIdUnique identifier for the client
firstnameClient's first name
lastnameClient's last name
emailaddressClient's email address
phoneClient's phone number
notesNotes about the client
longitudeLongitude coordinate
latitudeLatitude coordinate
externalClientIdExternal system identifier
Additional external data as key-value pairs
Get Client
path Parameters
idGet Client › Responses
Client retrieved successfully
clientIdUnique identifier for the client
firstnameClient's first name
lastnameClient's last name
emailaddressClient's email address
phoneClient's phone number
notesNotes about the client
longitudeLongitude coordinate
latitudeLatitude coordinate
externalClientIdExternal system identifier
Additional external data as key-value pairs