Products

The Products API is used to access, create, and modify the different products, product suppliers, and product supplier lines on your business' account. The Products API is connected to the Invoices and Quotes and Invoice Item APIs, as products appear on invoices as part of invoice items, and is connected to the Payments API as products are put on invoices via payments.

On this page




Products API Endpoints

These are the endpoints that are available under the /products path, which lists all the different products on an account.

Endpoint

Description

GET /products

Returns all product objects on an account in array format.

GET /products/{productId}

Returns a JSON object for specified product.

POST /products

Creates a new product object or updates an existing product object on an account.

Request body/payload:  Must pass a product object in the request body/payload.

For these calls, you need to pass a product object with all required fields and any fields you want to set filled in the body of the payload. We have an example of a product object in the responses section below and have indicated the required fields in the object values table at the bottom of this page.

DELETE /products/{productId}Removes a product object from view by setting its active property to false.
GET /productSupplierLineReturns all product supplier line objects on an account in array format.
GET /productSupplierLine/{productSupplierLineId}Returns a JSON object for specified product supplier line.
POST /productSupplierLine

Creates a new product supplier line object or updates an existing product supplier line object on an account.

Request body/payload:  Must pass a product supplier line object in the request body/payload.

For these calls, you need to pass a product supplier line object with all required fields and any fields you want to set filled in the body of the payload. We have an example of a product supplier line object in the responses section below and have indicated the required fields in the object values table at the bottom of this page.

DELETE /productSupplierLine/{productSupplierLineId}Removes a product supplier line object from view by setting its active property to false.
GET /productSupplierReturns all productSupplier objects on an account in array format.
GET /productSupplier/{productSupplierId}Returns a JSON object for specified product supplier.
POST /productSupplier

Creates a new product supplier object or updates an existing product supplier object on an account.

Request body/payload:  Must pass a product supplier object in the request body/payload.

For these calls, you need to pass a product supplier object with all required fields and any fields you want to set filled in the body of the payload. We have an example of a product supplier object in the responses section below and have indicated the required fields in the object values table at the bottom of this page.

DELETE /productSupplier/{productSupplierId}Removes a product supplier object from view by setting its active property to false.




Products API Parameters

There are no parameters included with resource calls.




Products API Response Body/Payloads

The objects below represent the minimum viable objects to pass that are needed to create or update a products, productSupplierLine or productSupplier object. Check whether or not a property can be written to by looking at the Object Values table below to see if the property is writable.

POST /products
{
    "active": true,
    "barcode1": "321",
    "businessId": 43111,
    "costPrice": "25",
    "currentLevel": "5",
    "maxLevel": "10",
    "minLevel": "1",
    "noStock": false,
    "productName": "Test12",
    "productSupplierLine": {Product supplier line object for product supplier line of product},
    "salePrice": "20"
}
POST /productSupplierLine
{
    "active": true,
    "businessId": 43111,
    "createdDate": 1537296313000,
    "createdUser": "JoeSchmo",
    "modifiedDate": null,
    "modifiedUser": null,
    "productSupplier": {Product supplier object for product supplier of product supplier line},
    "productSupplierId": 692,
    "productSupplierLineId": 421,
    "productSupplierLineName": "Collars etc."
}
POST /productSupplier
{
    "active": true,
    "businessId": 43111,
    "productSupplierName": "SuppliesPlus"
}




Products API Responses

GET /products
[{
    "active": true,
    "barcode1": null,
    "businessId": 43111,
    "costPrice": "5.000",
    "createdDate": 1536761724533,
    "createdUser": "JoeSchmo",
    "currentLevel": 10,
    "maxLevel": null,
    "minLevel": null,
    "modifiedDate": 1537282528336,
    "modifiedUser": "JoeSchmo",
    "noStock": false,
    "packSize": null,
    "productId": 6150,
    "productName": "Leashes",
    "productSupplier": null,
    "productSupplierLine": null,
    "salePrice": "5.000",
    "sortOrder": null,
    "taxable": null
}]
GET /products/{productId}
{
    "active": true,
    "barcode1": null,
    "businessId": 43111,
    "costPrice": null,
    "createdDate": 1537453687616,
    "createdUser": "JoeSchmo",
    "currentLevel": 50,
    "maxLevel": null,
    "minLevel": null,
    "modifiedDate": null,
    "modifiedUser": null,
    "noStock": false,
    "packSize": null,
    "productId": 6414,
    "productName": "Food Bowls",
    "productSupplier": null,
    "productSupplierLine": null,
    "salePrice": null,
    "sortOrder": null,
    "taxable": null
}
GET /productSupplier
[{
    "active": true,
    "businessId": 43111,
    "createdDate": 15368669839890,
    "createdUser": "JoeSchmo",
    "modifiedDate": null,
    "modifiedUser": null,
    "productSupplierId": 659,
    "productSupplierName": "Pet Supplies Plus"
}]
GET /productSupplierLine
[{
    "active": true,
    "businessId": 43111,
    "createdDate": 1536869856687,
    "createdUser": "JoeSchmo,
    "modifiedDate": null,
    "modifiedUser": null,
    "productSupplier": {Product supplier object for product supplier of product},
    "productSupplierLineId": 388,
    "productSupplierLineName": "Dog Items Line"
}]
POST /products
{
    "active": true,
    "barcode1": null,
    "businessId": 43111,
    "costPrice": "6.000",
    "createdDate": 1537282650511,
    "createdUser": "JoeSchmo",
    "currentLevel": 20,
    "maxLevel": 50,
    "minLevel": 5,
    "modifiedDate": null,
    "modifiedUser": null,
    "noStock": false,
    "packSize": null,
    "productId": 6282,
    "productName": "Frisbees",
    "productSupplier": null,
    "productSupplierLine": {Product supplier line object for product supplier line of product},
    "salePrice": null,
    "taxable": null
}
POST /productSupplier
{
    "active": true,
    "businessId": 43111,
    "createdDate": 1537292792373,
    "createdUser": "JoeSchmo",
    "modifiedDate": null,
    "modifiedUser": null,
    "productSupplierId": 692,
    "productSupplierName": "Products for Pooches"
}
POST /productSupplierLine
{
    "active": true,
    "businessId": 43111,
    "createdDate": 1537296313000,
    "createdUser": "JoeSchmo,
    "modifiedDate": null,
    "modifiedUser": null,
    "productSupplier": {Product supplier object for product supplier of product supplier line},
    "productSupplierLineId": 421,
    "productSupplierLineName": "Collars Etc"
}




Products Object Values

We have included object value tables for products, product supplier line, and product supplier objects, as they are all stored in unique tables on our database.

products

Property nameTypeRequiredDescription
activebooleanYesIndicates whether or not the specified product should return on GET calls.
barcode1string
Displays as barcode entered for the specified product.
businessIdintegerYesProvides unique numeric ID of the business to which the specified product belongs. 
costPricestring
Displays as price that the specified product is set to cost.
createdDateinteger
Displays as date the specified product was created in milliseconds elapsed since January 1, 1970 00:00:00 UTC form.
createdUserstring
Displays the username of user who created the specified product.
currentLevelinteger
Provides the current stock level of the specified product.
maxLevelinteger
Provides the maximum stock level of the specified product.
minLevelinteger
Provides the minimum stock level of the specified product.

modifiedDate

integer


Displays as date the specified product was last modified in milliseconds elapsed since January 1, 1970 00:00:00 UTC form.

modifiedUserstring

Displays the username of user who last modified the specified product.

noStockbooleanYesIndicates whether or not stock is calculated on the back end. If stock is being calculated, this property will be set as false, and if not this property will be set to true.
packSizeinteger
Provides a count of how many items of the specified product come in a pack.
productIdintegerYes (only if updating existing product with POST call)Provides unique numeric ID of the specified product.
productNamestring
Displays as name given to the specified product.
productSupplierobject
Displays the product supplier object for product supplier connected to the specified product.
productSupplierLineobject
Displays the product supplier line object for product supplier line connected to the specified product.
salePricestring
Displays as price that the specified product is set to cost after accounting for any discount.
sortOrderinteger
Provides a number that is used to determine the primacy of the products.
taxableboolean

Indicates whether or not the specified product is taxable, which would impact the overall balance of the invoice.

productSupplierLine

Property nameTypeRequiredDescription
activebooleanYesIndicates whether or not the specified product supplier line should return on GET calls.
businessIdintegerYesProvides unique numeric ID of the business to which the specified product supplier line belongs. 
createdDateinteger
Displays as date the specified product supplier line was created in milliseconds elapsed since January 1, 1970 00:00:00 UTC form.
createdUserstring
Displays the username of user who created the specified product supplier line.
modifiedDateinteger
Displays as date the specified product supplier line was last modified in milliseconds elapsed since January 1, 1970 00:00:00 UTC form.
modifiedUserstring
Displays the username of user who last modified the specified product supplier line.
productSupplierobject
Displays the product supplier object for product supplier connected to the specified product line.
productSupplierLineIdintegerYesProvides unique numeric ID of the specified product supplier line.
productSupplierLineNamestring
Displays as name of the specified product supplier line.

productSupplier

Property nameTypeRequiredDescription
activebooleanYesIndicates whether or not the specified product supplier should return on GET calls.
businessIdintegerYesProvides unique numeric ID of the business to which the specified product supplier belongs. 
createdDateinteger
Displays as date the specified product supplier was created in milliseconds elapsed since January 1, 1970 00:00:00 UTC form.
createdUserstring
Displays the username of user who created the specified product supplier.
modifiedDateinteger
Displays as date the specified product supplier was last modified in milliseconds elapsed since January 1, 1970 00:00:00 UTC form.
modifiedUserstring
Displays the username of user who last modified the specified product supplier.
productSupplierIdintegerYesProvides unique numeric ID of the specified product supplier.
productSupplierNamestring
Displays as name of the specified product supplier.