Read account items and manage the vendor and event resources supported by Public API v1.
On this page
11. Items (customers, projects, account codes, vendors, events)
List endpoints — shared pattern
GET /items/{type} supports:
| Parameter | Default | Notes |
|---|---|---|
Status |
Type-specific active constant | e.g. CUSTOMERSTATUS_ACTIVE |
OrderBy |
READONLY |
NAME, DATE, READONLY |
FullTextSearch |
"" |
|
Include{Type}IDList / Exclude{Type}IDList |
"" |
Numeric csv |
StartRow / MaxRows |
1 / 50 |
| Path | Default status |
|---|---|
/items/customer |
CUSTOMERSTATUS_ACTIVE |
/items/project |
PROJECTSTATUS_ACTIVE |
/items/accountcode |
ACCTCODESTATUS_ACTIVE |
/items/vendor |
VENDORSTATUS_ACTIVE |
/items/event |
EVENTSTATUS_ACTIVE |
curl -s "$API_BASE/items/customer?Status=CUSTOMERSTATUS_ACTIVE&OrderBy=NAME&FullTextSearch=acme&MaxRows=25" \
-H "Authorization: Bearer $TOKEN" \
-H "apikey: $API_KEY"
curl -s "$API_BASE/items/project?IncludeProjectIDList=200,201" \
-H "Authorization: Bearer $TOKEN" \
-H "apikey: $API_KEY"
Response shape: { errors, data: { items, totalrowsfround, startrow, maxrows } }.
Single-item GET
curl -s "$API_BASE/item/customer/10" \
-H "Authorization: Bearer $TOKEN" -H "apikey: $API_KEY"
curl -s "$API_BASE/item/project/200" \
-H "Authorization: Bearer $TOKEN" -H "apikey: $API_KEY"
curl -s "$API_BASE/item/accountcode/30" \
-H "Authorization: Bearer $TOKEN" -H "apikey: $API_KEY"
curl -s "$API_BASE/item/vendor/55" \
-H "Authorization: Bearer $TOKEN" -H "apikey: $API_KEY"
curl -s "$API_BASE/item/event/7" \
-H "Authorization: Bearer $TOKEN" -H "apikey: $API_KEY"
Vendors — create / update / delete / archive
URI is always /item/vendor/{VendorID}. For create, the path segment is required by routing — use 0 as a placeholder (POST does not use it as the new ID).
# Create
curl -s -X POST "$API_BASE/item/vendor/0" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-H "apikey: $API_KEY" \
-d '{
"VendorName": "Acme Supplies",
"City": "Austin",
"State": "TX",
"ContactEmail": "ap@acme.example"
}'
# Update
curl -s -X PATCH "$API_BASE/item/vendor/55" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-H "apikey: $API_KEY" \
-d '{"VendorName": "Acme Supplies LLC"}'
# Archive / restore
curl -s -X PATCH "$API_BASE/item/vendor/55/archive" \
-H "Authorization: Bearer $TOKEN" -H "apikey: $API_KEY"
curl -s -X PATCH "$API_BASE/item/vendor/55/restore" \
-H "Authorization: Bearer $TOKEN" -H "apikey: $API_KEY"
# Permanent delete
curl -s -X DELETE "$API_BASE/item/vendor/55" \
-H "Authorization: Bearer $TOKEN" -H "apikey: $API_KEY"
Body fields for create/update include address, contact/business/fax phone parts (domestic or international), and Comments. All are optional at the API layer; business rules apply in VendorService.
Events — create / update / delete / archive
Same create-placeholder pattern (POST /item/event/0):
curl -s -X POST "$API_BASE/item/event/0" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-H "apikey: $API_KEY" \
-d '{"EventName": "Trade Show", "EventDescription": "Q3 booth"}'
curl -s -X PATCH "$API_BASE/item/event/7" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-H "apikey: $API_KEY" \
-d '{"EventName": "Trade Show 2026"}'
curl -s -X PATCH "$API_BASE/item/event/7/archive" \
-H "Authorization: Bearer $TOKEN" -H "apikey: $API_KEY"
curl -s -X DELETE "$API_BASE/item/event/7" \
-H "Authorization: Bearer $TOKEN" -H "apikey: $API_KEY"
Customers, projects, and account codes are read-only via this public API (GET list + GET by ID only).