Autocomplete¶
Authentication required.
Real-time field autocomplete for search inputs. Returns matching records for a given field category and partial text input in under 50ms.
Query Parameters¶
| Parameter | Type | Required | Description |
|---|---|---|---|
category |
string | Yes | Field to search - see supported categories below |
text |
string | Yes | Partial text to search for |
subset_filters |
JSON | No | Additional filter conditions to narrow results |
Supported Categories¶
| Category | Returns |
|---|---|
Item Number |
Item Master records |
Item Description |
Item Master records |
Supplier Number |
Supplier Master records |
Supplier Name |
Supplier Master records |
Customer Number |
Customer Master records |
Customer Name |
Customer Master records |
Warehouse Number |
Warehouse Master records |
Warehouse Name |
Warehouse Master records |
Ship From Number |
Ship From Master records |
Ship To Number |
Ship To Master records |
User Email |
User accounts |
PO List Number |
Purchase orders |
SO List Number |
Sales orders |
MO List Number |
Manufacturing orders |
Results are filtered by the authenticated user's granular privilege restrictions.
Response¶
{
"data": {
"headers": ["text", "id"],
"data": [
["ITEM-A", 55],
["ITEM-AB", 56],
["ITEM-AC", 57]
],
"total": 3,
"elapsed": 12
}
}
| Field | Type | Description |
|---|---|---|
headers |
array | Column labels for data rows |
data |
array of arrays | Matching records - [display_text, internal_id] |
total |
integer | Total matches (up to 50 returned) |
elapsed |
integer | Query time in milliseconds |
Example Request¶
Code Example¶
response = session.get(
"https://acme.knosc.com/api/auto-complete",
params={"category": "Item Number", "text": "ITEM-"}
)
results = response.json()["data"]["data"]
for text, item_id in results:
print(f"{item_id}: {text}")
Subset Filters¶
Narrow autocomplete results using subset_filters:
curl -b cookies.txt \
"https://acme.knosc.com/api/auto-complete?category=Item+Number&text=ITEM&subset_filters=%7B%22Warehouse+Number%22%3A%22WH-01%22%7D"
Decoded subset_filters value: {"Warehouse Number": "WH-01"}