Inventory Pro
Skip to main content

Contents

api

Customers

Customers

A customer record represents a company or individual who owns stock held in your warehouses or receives shipments.

The Customer Object

The list response (GET /Customer/All) returns a projected subset. The single response (GET /Customer/{id}) returns the raw customer entity.

List shape:

{
  "rec": 101,
  "shortId": "ACME-CORP",
  "name": "Acme Corporation",
  "contact": "Jane Smith",
  "accNo": "ACC-100",
  "phone": "555-0100",
  "fax": "555-0101",
  "email": "[EMAIL]",
  "address1": "123 Industrial Way",
  "address2": "",
  "city": "Springfield",
  "state": "IL",
  "zip": "62701",
  "country": "US",
  "priceLevel": 1,
  "notes": "",
  "taxId": 0,
  "term": 30,
  "modified": "2025-01-20T14:22:00Z"
}
FieldTypeDescription
recintegerInternal customer record ID
shortIdstringUnique customer identifier
namestringCustomer name
contactstringPrimary contact name
accNostringAccount number
phonestringPhone number
faxstringFax number
emailstringEmail address
address1stringPrimary address line
address2stringSecondary address line
citystringCity
statestringState or province
zipstringPostal code
countrystringCountry code
priceLevelintegerPrice/discount level
notesstringNotes
taxIdintegerTax ID
termintegerPayment terms code
modifieddatetimeLast modification timestamp

Note: The single-customer response (GET /Customer/{id}) returns the full customer entity, which includes additional fields beyond the list projection.


List Active Customers

GET /Customer

Returns active (non-discontinued) customers with standard pagination parameters. Discontinued customers are excluded. Supports modifiedSince filtering.

{
  "value": [
    {
      "rec": 101,
      "shortId": "ACME-CORP",
      "name": "Acme Corporation",
      "contact": "Jane Smith",
      "accNo": "ACC-100",
      "phone": "555-0100",
      "fax": "555-0101",
      "email": "[EMAIL]",
      "address1": "123 Industrial Way",
      "address2": "",
      "city": "Springfield",
      "state": "IL",
      "zip": "62701",
      "country": "US",
      "priceLevel": 1,
      "notes": "",
      "taxId": 0,
      "term": 30,
      "modified": "2025-01-20T14:22:00Z"
    }
  ],
  "totalCount": 46,
  "page": 1,
  "pageSize": 25,
  "pageCount": 2,
  "hasMore": true
}

List All Customers

GET /Customer/All

Returns all customers (including discontinued) with standard pagination parameters. Supports modifiedSince filtering.

{
  "value": [
    {
      "shortId": "ACME-CORP",
      "name": "Acme Corporation",
      "contact": "Jane Smith",
      "accNo": "ACC-100",
      "phone": "555-0100",
      "fax": "555-0101",
      "email": "[EMAIL]",
      "address1": "123 Industrial Way",
      "address2": "",
      "city": "Springfield",
      "state": "IL",
      "zip": "62701",
      "country": "US",
      "priceLevel": 1,
      "notes": "",
      "taxId": 0,
      "term": 30,
      "modified": "2025-01-20T14:22:00Z"
    },
    {
      "rec": 102,
      "shortId": "BRIGHT-MFG",
      "name": "Bright Manufacturing LLC",
      "contact": "Tom Briggs",
      "accNo": "ACC-101",
      "phone": "555-0201",
      "fax": "555-0202",
      "email": "[EMAIL]",
      "address1": "88 Factory Rd",
      "address2": "Suite 200",
      "city": "Rockford",
      "state": "IL",
      "zip": "61101",
      "country": "US",
      "priceLevel": 2,
      "notes": "",
      "taxId": 0,
      "term": 30,
      "modified": "2025-01-20T14:22:00Z"
    }
  ],
  "totalCount": 48,
  "page": 1,
  "pageSize": 25,
  "pageCount": 2,
  "hasMore": true
}

Get a Customer

GET /Customer/{id}

Returns the full customer entity by ShortID. Returns 404 if the customer does not exist.

GET /Customer/ACME-CORP
{
  "shortId": "ACME-CORP",
  "name": "Acme Corporation",
  "address1": "123 Industrial Way",
  "address2": "",
  "city": "Springfield",
  "state": "IL",
  "zip": "62701",
  "country": "US",
  "phone": "555-0100",
  "fax": "555-0101",
  "email": "[EMAIL]",
  "contact": "Jane Smith"
}

Create or Update a Customer

POST /Customer

Upserts a customer. If ShortID matches an existing record it is updated; otherwise a new record is created.

Request

{
  "ShortID": "ACME-CORP",
  "Name": "Acme Corporation",
  "Contact": "Jane Smith",
  "Address1": "123 Industrial Way",
  "Address2": "",
  "City": "Springfield",
  "State": "IL",
  "Zip": "62701",
  "Country": "US",
  "Telephone": "555-0100",
  "Fax": "555-0101",
  "Email": "[EMAIL]"
}
FieldTypeRequiredDescription
ShortIDstringYesUnique identifier. Used to match existing records on upsert.
NamestringYesCustomer name
ContactstringNoPrimary contact name
AccNostringNoAccount number
TelephonestringNoPhone number
FaxstringNoFax number
EmailstringNoEmail address
Address1stringNoPrimary address line
Address2stringNoSecondary address line
CitystringNoCity
StatestringNoState or province
ZipstringNoPostal code
CountrystringNoCountry code
LocationOfstringNoLocation reference
DiscountOptionintegerNoPrice/discount level (default 0)
NotesstringNoNotes
TaxIDintegerNoTax ID (default 0)
TermstringNoPayment terms

Note: The write body uses PascalCase field names. ShortID and Name are required.

Response

{
  "shortID": "ACME-CORP",
  "status": "imported"
}

Discontinue a Customer

DELETE /Customer/{id}

Marks the customer as discontinued. Historical records are preserved. Returns 200 with a confirmation message.

DELETE /Customer/ACME-CORP
"Customer Discontinued: ACME-CORP"

Permissions

ActionPermission
List / GetCustomers List (SecurityID 130)
Create / Update / DiscontinueCreate/Modify Customer (SecurityID 131)