Endpoint
Query Parameters
The search term to match against. Must be at least 2 characters long. Shorter values are rejected to prevent overly broad queries.
Maximum number of results to return. Cannot exceed
50.Restrict results to customers belonging to a specific courier. When omitted, results are scoped to the authenticated user’s accessible couriers.
Set to
true to enable fuzzy matching mode. See Advanced Search below for details.Basic Search (Default)
Whenadvanced is omitted or set to false, the endpoint performs a standard SQL LIKE search across the following fields:
first_namelast_name- Full name (first + last combined)
emailuser_code
last_name, then first_name.
Example Request
Example Response
Advanced Search
Enablingadvanced=true activates a multi-signal relevance engine that ranks results by how closely they match the query. This is the recommended mode when user input may contain typos, phonetic variations, or transposed name parts.
The advanced mode applies three scoring signals in combination:
| Signal | Description |
|---|---|
| Levenshtein Distance | Measures the character-level edit distance between the query and each candidate field. Closer matches score higher. |
| Soundex Phonetic Matching | Groups names that sound alike (e.g., “Smith” and “Smyth”) so phonetic variants are surfaced even without exact spelling. |
| Token-Based Scoring | Splits the query into individual tokens and scores partial word matches across all searchable fields. |
match_score and returned in descending score order.
Example Request
Example Response
Response Fields
"success" when the search completed without error.Number of results returned in this response (not the total across all pages — this endpoint does not paginate).
Array of matching customer objects, ordered by relevance.
Choosing the Right Mode
- Use Basic Search When...
- Use Advanced Search When...
- You have a known, correctly spelled name or user code
- You’re building a fast autocomplete or type-ahead UI component
- You want the lightest possible response time
The
match_score value is a composite internal score and is not normalized to a fixed range. Use it for relative ranking within a single response — do not compare scores across separate requests.