1. Home
  2. Account Management
  3. Tools
  4. API Items: Customers, Projects, Account Codes, Vendors & Events

API Items: Customers, Projects, Account Codes, Vendors & Events

API documentation hub

Read account items and manage the vendor and event resources supported by Public API v1.

On this page

  1. 11. Items (customers, projects, account codes, vendors, events)

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).


API documentation hub

Updated on August 20, 2026
Was this article helpful?

Related Articles