Skip to content

Autocomplete

GET /api/auto-complete

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

curl -b cookies.txt \
  "https://acme.knosc.com/api/auto-complete?category=Supplier+Name&text=acme"

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"}