Published using Google Docs
Supplyit API v2: Sample requests and responses
Updated automatically every 5 minutes

Jera Concepts Supplyit API v2: Sample requests and responses

The API is designed to facilitate programmatic interaction with the Supplyit platform, allowing customers to adapt their existing processes and software to work cohesively with Supplyit. This documentation reflects version 2 of the API.

Overview

Base URL

Authentication

Methods and Data Type

Response compression

Throttling

Endpoints

Notes

Examples

Querying a list of locations

Querying a list of products within a location

Querying contacts within a location

Querying for orders within a location

Inserting a new sales order into a location

Removing an item from an existing order

Modifying an item in an existing order

Adding a new item to an existing order

Deleting an existing order

Inserting a new waste record

Removing an item from an existing waste record

Modifying an item in an existing waste record

Adding a new item to a waste

Deleting an existing waste record

List recipes

Get recipe details

Get recipe details by products

Insert new recipe

Deleting an existing recipe

Overview

Base URL

https://app.supplyit.com/api/v2/

Authentication

Methods and Data Type

The HTTP method of the request specifies the intent:

A request with an unsupported method type will receive a 405 - Method Not Allowed response. Not all endpoints allow for all methods at this time.

A PUT request with invalid JSON content will receive a 400 - Bad Request response.

The "Accept" field is optional as data can only be retrieved in JSON format.

Data must be uploaded (PUT) in JSON format:

Content-Type: application/json

Response compression

Specifying Accept-Encoding: gzip in the request header will cause the response to be compressed. This is highly recommended.

Throttling

Requests are currently limited to 10 per second, but this limit is subject to change without notice. The remaining requests are included in the response header [X-Supplyit-RemainingRequests]. If a response has that header value as "0", the next request could fail and would receive a 409 status code with the message "The allowed number of requests has been exceeded."

Endpoints

Note: Dates and times should be in ISO 8601 format, e.g. YYYY-MM-DD or YYYY-MM-DDThh:mm:ssZ

Notes

Examples

Querying a list of locations

Request

GET https://app.supplyit.com/api/v2/locations

Accept: application/json

Authorization: f9f69d68-c2e2-47e0-b04b-82ee5ea1eb46

Response

HTTP/1.1 200 OK

Cache-Control: no-cache

Pragma: no-cache

Content-Type: application/json; charset=utf-8

Expires: -1

Server:

X-Supplyit-RemainingRequests: 9

x-frame-options: SAMEORIGIN

Content-Length: 415

[{

        "Address": {

                "Address1": "1600 Pennsylvania Avenue",

                "City": "Washington",

                "Zip": "20500",

                "Phone": "555-555-5555",

                "Fax": "",

                "Email": "example@mydomain.com",

                "State": "DC",

                "ID": 34815

        },

"LocationKey": "93f7e6c9-ffd7-4b4e-90df-e878361d6a64",

"LocationStatus": "Active",

"Name": "Bakery",

"ID": 65329,

"Code:": "1234"

},

{

        "Address": {

                "Address1": "",

                "City": "",

                "Zip": "",

                "Phone": "",

                "Fax": "",

                "Email": "",

                "State": "",

                "ID": 34817

        },

"LocationKey": "485c41b1-8efb-42d9-afc3-2dfef2e814c4",

"LocationStatus": "Active",

"Name": "Customer",

"ID": 65331,

"Code":"TestCode"

}]

Note: The response that is returned lists 2 locations. This means that the API user has access to these locations. Others locations may exist in the account but they are not visible to this user. We will use the location code next to pull and create location-specific information..

Querying a list of products within a location

Request

GET https://app.supplyit.com/api/v2/products

Accept: application/json

Authorization: f9f69d68-c2e2-47e0-b04b-82ee5ea1eb46

X-Supplyit-LocationCode: 1234

Response

[{

        "Location": {

                "ID": 65329,

"Code": "1234",

"Name": "Bakery"

        },

        "Name": "Plain bread",

        "Code": "7157-11723",

        "CategoryName": "Savory Finished",

        "CategoryCode": "SAV1234",

        "DepartmentName": "Finished",

        "DepartmentCode: "FIN1234",

        "CatalogName": "Simplicity",

        "CatalogCode": "SIMP1234",

        "IsActive": true,

        "IsSupplied": true,

"IsDiscrete": true,

"IsPurchased": false,

"ProductionLeadTime":1.00:50:00,

"ShelfLife": 1.00:00:00

        "ID": 16104

},

{

        "Location": {

                "ID": 65329,

"Code": "1234",

"Name": "Bakery"

        },

        "Name": "Raisin bread",

        "Code": "7157-19697",

        "CategoryName": "Savory Finished",

        "CategoryCode": "SAV1234",

        "DepartmentName": "Finished",

        "DepartmentCode: "FIN1234",

        "CatalogName": "Simplicity",

        "CatalogCode": "SIMP1234",

        "IsActive": true,

        "IsSupplied": true,

"IsDiscrete": true,

"IsPurchased": false,

"ProductionLeadTime":1.00:50:00,

"ShelfLife": 1.00:00:00

        "ID": 23345

},

{

        "Location": {

                "ID": 65329,

"Code": "1234",

"Name": "Bakery"

        },

        "Name": "Cinnamon bun",

        "Code": "7157-19698",

        "CategoryCode": "SAV1234",

        "DepartmentName": "Finished",

        "DepartmentCode: "FIN1234",

        "CatalogName": "Simplicity",

        "CatalogCode": "SIMP1234",

        "IsActive": true,

        "IsSupplied": true,

"IsDiscrete": true,

"IsPurchased": false,

"ProductionLeadTime":1.00:50:00,

"ShelfLife": 1.00:00:00

        "ID": 23346

}]

Note: This returns 3 products with detailed information about each.

Querying contacts within a location

Request

GET https://app.supplyit.com/api/v2/contacts

Accept: application/json

Authorization: f9f69d68-c2e2-47e0-b04b-82ee5ea1eb46

X-Supplyit-LocationCode: 1234

Response

[{

        "ContactLocation": {

                "ID": 65331,

                "Code": "Customer1234",

                "Name: "Customer"

        },

        "Alias": null,

        "ContactType": "Customer",

        "Address": {

                "Address1": "1 Rainbow Way",

                "City": "Phoenix",

                "Zip": "",

                "Phone": "",

                "Fax": "",

                "Email": "",

                "State": "AZ",

                "ID": 34817

        },

        "Name": "Customer",

"IsActive": true,

        "ID": 5791,

"Code": "Customer1234"

},

{

        "ContactLocation": {

                "ID": 65330,

"Code": "Supplier",

                "Name: "My Northwest Supplier"

        },

        "Alias": null,

        "ContactType": "Supplier",

        "Address": {

                "Address1": "",

                "City": "",

                "Zip": "",

                "Phone": "",

                "Fax": "",

                "Email": "",

                "State": "",

                "ID": 34816

        },

        "Name": "Supplier",

"IsActive": true,

        "ID": 5788,

"Code": "Supplier",

}]

Note: The “contact location” object indicates the ID of the location that is associated with that contact. The code of the contact and the contact location are the same.

Querying for orders within a location

Request

GET https://app.supplyit.com/api/v2/orders?date=2016-03-22

Accept: application/json

Authorization: f9f69d68-c2e2-47e0-b04b-82ee5ea1eb46

X-Supplyit-LocationCode: 1234

Response

[{

        "Location": {

                "Name": "Bakery",

                "ID": 65329,

"Code": "1234",

        },

        "Contact": {

                "ContactLocation": {

                        "Name": "Customer",

                        "ID": 65331,

                        "Code": "Customer1234"

                },

                "Alias": null,

                "Name": "Customer",

                "ID": 5791

        },

        "OrderViewType": "SalesOrder",

        "Shift": {

                "Name": "First",

                "Code": "FIRST1234",

                "ID": 34507

        },

        "OrderItems": [{

                "Product": {

                        "Name": "Plain bread",

                        "Code": "7157-11723",

                        "CatalogName": "Simplicity",

                        "CatalogCode": "SIMP1234",

                        "ID": 16104

                },

                "UnitsOrdered": 1.0,

                "StartingOrder": 1.0,

                "RelatedAdjustment": 0.0,

                "CustomerCorrection": 0.0,

                "CustomerAdjustment": 0.0,

                "SupplierAdjustment": 0.0,

                "SupplierCorrection": 0.0,

                "UnitsInvoiced": 1.0,

                "UnitPrice": 0.0000,

                "ID": 5975696

        }],

        "OrderDate": "2016-03-22T00:00:00",

        "OrderStatus": "Open",

        "OrderPrice": 0.0000,

        "OrderNotes": "",

"Code": null,

        "IsSpecial": false,

        "ExcludeFromForecasting": false,

        "ID": 47616,

        "ModelVersion": "AAAAAAAWMH0="

}]

Inserting a new sales order into a location

Request

PUT https://app.supplyit.com/api/v2/orders

Accept: application/json

Authorization: f9f69d68-c2e2-47e0-b04b-82ee5ea1eb46

X-Supplyit-LocationCode: 1234

Content-Type: application/json

{

        "Contact": {

                "Code": "Customer1234"

        },

        "OrderViewType": "SalesOrder",

        "Shift": {

                "Code": "Shift1234"

        },

        "OrderItems": [{

                "Product": {

                        "ID": 16104

                },

                "StartingOrder": 5,

                "UnitPrice": 2,

                

        },

        {

                "Product": {

                        "ID": 23345

                },

                "StartingOrder": 10,

                "UnitPrice": .25

        }],

        "OrderDate": "2016-03-07T00:00:00",

        "OrderStatus": "Open",

"ExcludeFromForecasting": false,

"IsSpecial": false

}

Response

{

        "Location": {

                "ID": 65329

        },

        "Contact": {

                "ContactLocation": {

                        "ID": 65331

                },

                "Alias": null,

                "Name": "Customer",

                "ID": 5791

        },

        "OrderViewType": "SalesOrder",

        "Shift": {

                "ID": 34507

        },

        "OrderItems": [{

                "Product": {

                        "ID": 16104

                },

                "UnitsOrdered": 5.0,

                "StartingOrder": 5.0,

                "RelatedAdjustment": 0.0,

                "CustomerCorrection": 0.0,

                "CustomerAdjustment": 0.0,

                "SupplierAdjustment": 0.0,

                "SupplierCorrection": 0.0,

                "UnitsInvoiced": 5.0,

                "UnitPrice": 2.0,

                "ID": 5975685

        },

        {

                "Product": {

                        "ID": 23345

                },

                "UnitsOrdered": 10.0,

                "StartingOrder": 10.0,

                "RelatedAdjustment": 0.0,

                "CustomerCorrection": 0.0,

                "CustomerAdjustment": 0.0,

                "SupplierAdjustment": 0.0,

                "SupplierCorrection": 0.0,

                "UnitsInvoiced": 10.0,

                "UnitPrice": 0.25,

                "ID": 5975686

        }],

        "OrderDate": "2016-03-07T00:00:00",

        "OrderStatus": "Open",

        "OrderPrice": 12.50,

        "OrderNotes": null,

        "IsSpecial": true,

        "ID": 47606,

"ExcludeFromForecasting": false,

        "ModelVersion": "AAAAAAAV4oA=",

"Code":null

}        

Note: The order is created and its fully hydrated value is returned. Notice that it has an ID in the response, as do each of the items in the order. These may be used to modify specific items on an order.

The object also contains “ModelVersion”, which is a timestamp on this record. This can be used while modifying records to prevent race conditions where a user modifies an item at the same time that the API is modifying an item. If provided, only the order that matches the ID and version will be modified. If it is not provided, the value is ignored while retrieving an order.

Removing an item from an existing order

Request

GET https://app.supplyit.com/api/v2/orders

Accept: application/json

Authorization: f9f69d68-c2e2-47e0-b04b-82ee5ea1eb46

X-Supplyit-LocationCode: 1234

Content-Type: application/json

Content-Length: 375

{

        "Location": {

                "ID": 65329

        },

        "Contact": {

                "ID": 5791

        },

        "OrderViewType": "SalesOrder",

        "Shift": {

                "ID": 34507

        },

        "OrderItems": [{

                "ID": 5975685,

                "ModelState": "ToBeDeleted"

        }],

        "OrderDate": "2016-03-07T00:00:00",

        "OrderStatus": "Open",

        "OrderNotes": null,

        "IsSpecial": false,

        "ID": 47606

}

Response

{

        "Location": {

                "ID": 65329

        },

        "Contact": {

                "ContactLocation": {

                        "ID": 65331

                },

                "Alias": null,

                "Name": "Customer",

                "ID": 5791

        },

        "OrderViewType": "SalesOrder",

        "Shift": {

                "ID": 34507

        },

        "OrderItems": [],

        "OrderDate": "2016-03-07T00:00:00",

        "OrderStatus": "Open",

        "OrderPrice": 0.0,

        "OrderNotes": null,

        "IsSpecial": false,

        "ID": 47606,

"ExcludeFromForecasting": false,

        "ModelVersion": "AAAAAAAV4oE="

}

Note: The request included the order item to be removed and marked its “ModelState” property as “ToBeDeleted”. The response contains mostly the information in the request, though the “ModelVersion” has been incremented. (See the previous example for information about how to use ModelVersion.) Only the order items that will be modified need to be included. If order items are not included, their status is not changed.

IMPORTANT: The header information about the order -- date, status, etc. -- will be updated every time so it is important when editing individual items on an order that all header information is included. If a field is left out, it will be updated with its default value. For example, if “OrderNotes” is not included, the note on the order will be removed.

Modifying an item in an existing order

Request

GET https://app.supplyit.com/api/v2/orders

Accept: application/json

Authorization: 61842bd8-34ab-4067-a40f-4901e0fea1b8

X-Supplyit-LocationCode: 1234

{

        "Location": {

                "ID": 65329

        },

        "Contact": {

                "ContactLocation": {

                        "ID": 65331

                },

                "Alias": null,

                "Name": "Customer",

                "ID": 5791

        },

        "OrderViewType": "SalesOrder",

        "Shift": {

                "ID": 34507

        },

        "OrderItems": [

        {

                "Product": {

                        "ID": 23345

                },

                "StartingOrder": 25.0,

                "RelatedAdjustment": 0.0,

                "CustomerCorrection": 0.0,

                "CustomerAdjustment": 0.0,

                "SupplierAdjustment": 0.0,

                "SupplierCorrection": 0.0,

                "UnitPrice": 0.25,

                "ID": 5975686,

        }],

        "OrderDate": "2016-03-07T00:00:00",

        "OrderStatus": "Open",

        "OrderPrice": 12.50,

        "OrderNotes": null,

        "IsSpecial": false,

        "ID": 47606,

        "ExcludeFromForecasting": false

}

Response

{

        "Location": {

                "ID": 65329

        },

        "Contact": {

                "ContactLocation": {

                        "ID": 65331

                },

                "Alias": null,

                "Name": "Customer",

                "ID": 5791

        },

        "OrderViewType": "SalesOrder",

        "Shift": {

                "ID": 34507

        },

        "OrderItems": [{

                "Product": {

                        "ID": 23345

                },

                "UnitsOrdered": 25.0,

                "StartingOrder": 25.0,

                "RelatedAdjustment": 0.0,

                "CustomerCorrection": 0.0,

                "CustomerAdjustment": 0.0,

                "SupplierAdjustment": 0.0,

                "SupplierCorrection": 0.0,

                "UnitsInvoiced": 25.0,

                "UnitPrice": 0.25,

                "ID": 5975686

        }],

        "OrderDate": "2016-03-07T00:00:00",

        "OrderStatus": "Open",

        "OrderPrice": 6.25,

        "OrderNotes": null,

        "IsSpecial": false,

        "ID": 47606,

        "ModelVersion": "AAAAAAAV4oM="

}

Note: Here we pushed an order with one item, identified by ID, whose starting order was changed to 25.

Adding a new item to an existing order

Request

GET https://app.supplyit.com/api/v2/orders

Accept: application/json

Authorization: 61842bd8-34ab-4067-a40f-4901e0fea1b8

X-Supplyit-LocationCode: 1234

{

        "Location": {

                "ID": 65329

        },

        "Contact": {

                "ContactLocation": {

                        "ID": 65331

                },

                "Alias": null,

                "Name": "Customer",

                "ID": 5791

        },

        "OrderViewType": "SalesOrder",

        "Shift": {

                "ID": 34507

        },

        "OrderItems": [

        {

                "Product": {

                        "ID": 23346

                },

                "StartingOrder": 5.0,

                "RelatedAdjustment": 0.0,

                "CustomerCorrection": 0.0,

                "CustomerAdjustment": 0.0,

                "SupplierAdjustment": 0.0,

                "SupplierCorrection": 0.0,

                "UnitPrice": 0.25,

                "ID": ,

        }],

        "OrderDate": "2016-03-07T00:00:00",

        "OrderStatus": "Open",

        "OrderPrice": 12.50,

        "OrderNotes": null,

        "IsSpecial": false,

        "ID": 47606,

"ExcludeFromForecasting": false

}

Deleting an existing order

Request

DELETE https://app.supplyit.com/api/v2/orders/47606

Accept: application/json

Authorization: 61842bd8-34ab-4067-a40f-4901e0fea1b8

X-Supplyit-LocationCode: 1234

Response

HTTP/1.1 200 OK

(no response body)

Inserting a new waste record

Request

PUT https://app.supplyit.com/api/v2/wastes

Accept: application/json

Authorization: f9f69d68-c2e2-47e0-b04b-82ee5ea1eb46

X-Supplyit-LocationCode: 1234

Content-Type: application/json

{

        "Location": {

                "ID": 65329

        },

        "Shift": {

                "ID": 34507

        },

        "WasteItems": [{

                "Product": {

                        "ID": 16104

                },

                "UnitsWasted": 5,

        },

        {

                "Product": {

                        "ID": 23345

                },

                "UnitsWasted": 10,

        }],

        "WasteDate": "2016-03-07T00:00:00",

        "WasteStatus": "Open"

}

Response

{

        "Location": {

                "ID": 65329

        },

        "WasteStatus": "Open",

        "WasteDate": "2016-03-07T00:00:00",

        "Shift": {

                "Name": "First",

                "ID": 34507

        },

        "WasteItems": [{

                "Product": {

                        "Name": "Plain bread",

                        "Code": "7157-11723",

                        "CatalogName": "Simplicity",

                        "ID": 16104

                },

                "UnitsWasted": 5.0,

                "ID": 9726,

        },

        {

                "Product": {

                        "Name": "Raisin bread",

                        "Code": "7157-19697",

                        "CatalogName": "Simplicity",

                        "ID": 23345

                },

                "UnitsWasted": 10.0,

                "ID": 9727

        }],

        "ID": 3672,

        "ModelVersion": "AAAAAAAV4pQ="

}

Removing an item from an existing waste record

Request

PUT https://app.supplyit.com/api/v2/wastes

Accept: application/json

Authorization: f9f69d68-c2e2-47e0-b04b-82ee5ea1eb46

X-Supplyit-LocationCode: 1234

Content-Type: application/json

{

        "Location": {

                "ID": 65329

        },

        "WasteStatus": "Open",

        "WasteDate": "2016-03-07T00:00:00",

        "Shift": {

                "Name": "First",

                "ID": 34507

        },

        "WasteItems": [{

                "ID": 9726,

                "ModelState": "ToBeDeleted"

        }],

        "ID": 3672,

}

Response

{

        "Location": {

                "ID": 65329

        },

        "WasteStatus": "Open",

        "WasteDate": "2016-03-07T00:00:00",

        "Shift": {

                "Name": "First",

                "ID": 34507

        },

        "WasteItems": [{

                "Product": {

                        "Name": "Plain bread",

                        "Code": "7157-11723",

                        "CatalogName": "Simplicity",

                        "ID": 16104

                },

                "UnitsWasted": 5.0,

                "ID": 9726

        },

        {

                "Product": {

                        "Name": "Raisin bread",

                        "Code": "7157-19697",

                        "CatalogName": "Simplicity",

                        "ID": 23345

                },

                "UnitsWasted": 10.0,

                "ID": 9727

        }],

        "ID": 3672,

        "ModelVersion": "AAAAAAAV4pU="

}

Modifying an item in an existing waste record

Request

PUT https://app.supplyit.com/api/v2/wastes

Accept: application/json

Authorization: f9f69d68-c2e2-47e0-b04b-82ee5ea1eb46

X-Supplyit-LocationCode: 1234

Content-Type: application/json

{

        "Location": {

                "ID": 65329

        },

        "WasteStatus": "Open",

        "WasteDate": "2016-03-07T00:00:00",

        "Shift": {

                "ID": 34507

        },

        "WasteItems": [

        {

                "Product": {

                        "ID": 23345

                },

                "UnitsWasted": 15.0,

                "ID": 9727,

        }],

        "ID": 3672

}

Response

{

        "Location": {

                "ID": 65329

        },

        "WasteStatus": "Open",

        "WasteDate": "2016-03-07T00:00:00",

        "Shift": {

                "Name": "First",

                "ID": 34507

        },

        "WasteItems": [{

                "Product": {

                        "Name": "Raisin bread",

                        "Code": "7157-19697",

                        "CatalogName": "Simplicity",

                        "ID": 23345

                },

                "UnitsWasted": 15.0,

                "ID": 9727

        }],

        "ID": 3672,

        "ModelVersion": "AAAAAAAV4pY="

}

Adding a new item to a waste

Request

PUT https://app.supplyit.com/api/v2/wastes

Accept: application/json

Authorization: f9f69d68-c2e2-47e0-b04b-82ee5ea1eb46

X-Supplyit-LocationCode: 1234

Content-Type: application/json

{

        "Location": {

                "ID": 65329

        },

        "WasteStatus": "Open",

        "WasteDate": "2016-03-07T00:00:00",

        "Shift": {

                "ID": 34507

        },

        "WasteItems": [

        {

                "Product": {

                        "ID": 23346

                },

                "UnitsWasted": 20.0,

        }],

        "ID": 3672

}

Response

{

        "Location": {

                "ID": 65329

        },

        "WasteStatus": "Open",

        "WasteDate": "2016-03-07T00:00:00",

        "Shift": {

                "Name": "First",

                "ID": 34507

        },

        "WasteItems": [{

                "Product": {

                        "Name": "Raisin bread",

                        "Code": "7157-19697",

                        "CatalogName": "Simplicity",

                        "ID": 23345

                },

                "UnitsWasted": 15.0,

                "ID": 9727

        },

        {

                "Product": {

                        "Name": "Cinnamon bun",

                        "Code": "7157-19698",

                        "CatalogName": "Simplicity",

                        "ID": 23346

                },

                "UnitsWasted": 20.0,

                "ID": 9728,

        }],

        "ID": 3672,

        "ModelVersion": "AAAAAAAV4pc="

}

Deleting an existing waste record

Request

DELETE https://app.supplyit.com/api/v2/wastes/3672

Accept: application/json

Authorization: f9f69d68-c2e2-47e0-b04b-82ee5ea1eb46

X-Supplyit-LocationCode: 1234

Response

HTTP/1.1 200 OK

(no body)

List recipes

Request

GET https://app.supplyit.com/api/v2/productrecipes

Accept: application/json

Authorization: f9f69d68-c2e2-47e0-b04b-82ee5ea1eb46

X-Supplyit-LocationCode: 123

Response

[{

"Location": {

                "Name": "Bakery",

                "ID": 65329

        },

        "Product": {

                "Name": "Breakfast Burrito",

                "Code": "1944-5096",

                "CatalogName": "Retail Items",

                "ID": 10630

        },

        "Ingredients": [],

        "BatchSpecification": null,

        "ExcludeFromProductionResults": false,

        "IsGeneric": false,

        "IsBatchDependent": true,

        "Yield": 1.0,

        "ID": 1,

        "ModelVersion": "AAAAAAAIYXE="

},{

        "Location": {

        "Name": "Bakery",

        "ID": 65329

        },

        "Product": {

                "Name": "Bacon and Egg Sandwich",

                "Code": "1944-5393",

                "CatalogName": "Retail Catalog",

                "ID": 10762

        },

        "Ingredients": [],

        "BatchSpecification": null,

        "ExcludeFromProductionResults": true,

        "IsGeneric": false,

        "IsBatchDependent": false,

        "Yield": 1.0,

        "ID": 2009,

        "ModelVersion": "AAAAAAAHhqA="

}]

Note that ingredients are not returned when recipes are retrieved as a list.

Get recipe details

Request

GET https://app.supplyit.com/api/v2/productrecipes/2009

Accept: application/json

Authorization: f9f69d68-c2e2-47e0-b04b-82ee5ea1eb46

X-Supplyit-LocationCode: 123

Response

[{

"Location": {

                "Name": "Bakery",

                "Code": 65329,

"ID": 111

        },

        "Product": {

                "Name": "Breakfast Burrito",

                "Code": "1944-5096",

                "CatalogName": "Retail Items",

                "ID": 10630

        },

        "Ingredients": [],

        "BatchSpecification": null,

        "ExcludeFromProductionResults": false,

        "IsGeneric": false,

        "IsBatchDependent": true,

        "Yield": 1.0,

        "ID": 1,

        "ModelVersion": "AAAAAAAIYXE="

},{

        "Location": {

                "Name": "Bakery",

        "ID": 111,

        "Code": 65329

        },

        "Product": {

                "Name": "Bacon and Egg Sandwich",

                "Code": "1944-5393",

                "CatalogName": "Retail Items",

                "ID": 10762

        },

        "Ingredients": [{

                "Product": {

                        "Name": "Bacon",

                        "Code": "1944-5394",

                        "CatalogName": "Ingredients Catalog",

                        "ID": 10761

                },

                "Quantity": 3.0,

                "Weight": 1.0,

                "Unit": null,

                "ID": 1091

        }, {

                "Product": {

                        "Name": "Eggs",

                        "Code": "1944-5393",

                        "CatalogName": "Ingredients Catalog",

                        "ID": 10762

                },

                "Quantity": 3.0,

                "Weight": 1.0,

                "Unit": null,

                "ID": 1092

        },{

                "Product": {

                        "Name": "English Muffin",

                        "Code": "1944-9999",

                        "CatalogName": "Ingredients Catalog",

                        "ID": 10766

                },

                "Quantity": 1.0,

                "Weight": 1.0,

                "Unit": null,

                "ID": 1095

        }],

        "BatchSpecification": null,

        "ExcludeFromProductionResults": true,

        "IsGeneric": false,

        "IsBatchDependent": false,

        "Yield": 1,

        "ID": 2009,

        "ModelVersion": "AAAAAAAHhqA="

}]

Get recipe details by products

This helps youquery recipes by product ID rather than by recipe ID.

GET https://app.supplyit.com/api/v2/productrecipes?productIDs=10630,10762

Accept: application/json

Authorization: f9f69d68-c2e2-47e0-b04b-82ee5ea1eb46

X-Supplyit-LocationCode: 123

Response

[{

"Location": {

                "Name": "Bakery",

                "Code": 65329,

"ID": 111

        },

        "Product": {

                "Name": "Breakfast Burrito",

                "Code": "1944-5096",

                "CatalogName": "Retail Items",

                "ID": 10630

        },

        "Ingredients": [{

                "Product": {

                        "Name": "Eggs",

                        "Code": "1944-5393",

                        "CatalogName": "Ingredients Catalog",

                        "ID": 10762

                },

                "Quantity": 3.0,

                "Weight": 1.0,

                "Unit": null,

                "ID": 1092

        },{

                "Product": {

                        "Name": "Tortilla",

                        "Code": "1944-5728",

                        "CatalogName": "Ingredients Catalog",

                        "ID": 10166

                },

                "Quantity": 1.0,

                "Weight": 1.0,

                "Unit": null,

                "ID": 1000

        }],

        "BatchSpecification": null,

        "ExcludeFromProductionResults": false,

        "IsGeneric": false,

        "IsBatchDependent": true,

        "Yield": 1.0,

        "ID": 1,

        "ModelVersion": "AAAAAAAIYXE="

},{

        "Location": {

                "Name": "Bakery",

        "ID": 111,

        "Code": 65329

        },

        "Product": {

                "Name": "Bacon and Egg Sandwich",

                "Code": "1944-5393",

                "CatalogName": "Retail Items",

                "ID": 10762

        },

        "Ingredients": [{

                "Product": {

                        "Name": "Bacon",

                        "Code": "1944-5394",

                        "CatalogName": "Ingredients Catalog",

                        "ID": 10761

                },

                "Quantity": 3.0,

                "Weight": 1.0,

                "Unit": null,

                "ID": 1091

        }, {

                "Product": {

                        "Name": "Eggs",

                        "Code": "1944-5393",

                        "CatalogName": "Ingredients Catalog",

                        "ID": 10762

                },

                "Quantity": 3.0,

                "Weight": 1.0,

                "Unit": null,

                "ID": 1092

        },{

                "Product": {

                        "Name": "English Muffin",

                        "Code": "1944-9999",

                        "CatalogName": "Ingredients Catalog",

                        "ID": 10766

                },

                "Quantity": 1.0,

                "Weight": 1.0,

                "Unit": null,

                "ID": 1095

        }],

        "BatchSpecification": null,

        "ExcludeFromProductionResults": true,

        "IsGeneric": false,

        "IsBatchDependent": false,

        "Yield": 1,

        "ID": 2009,

        "ModelVersion": "AAAAAAAHhqA="

}]

Insert new recipe (currently not available)

Request

PUT https://app.supplyit.com/api/v2/productrecipes

Accept: application/json

Authorization: f9f69d68-c2e2-47e0-b04b-82ee5ea1eb46

X-Supplyit-LocationCode: 123

Content-Type: application/json

{

        "Product": {

                "Name": "Ham and Egg Sandwich",

                "Code": "1944-65443",

                "CatalogName": "Retail Catalog"

        },

        "Ingredients": [{

                "Product": {

                        "Name": "Ham",

                        "Code": "1944-5394",

                        "CatalogName": "Ingredients Catalog",

                        "ID": 10761

                },

                "Quantity": 3.0,

                "Weight": 1.0,

                "Unit": null

        }, {

                "Product": {

                        "Name": "Eggs",

                        "Code": "1944-5393",

                        "CatalogName": "Ingredients Catalog",

                },

                "Quantity": 3.0,

                "Weight": 1.0,

                "Unit": null

        },{

                "Product": {

                        "Name": "Rolls",

                        "Code": "1944-9999",

                        "CatalogName": "Ingredients Catalog",

                },

                "Quantity": 2.0,

                "Weight": 1.0,

                "Unit": null,

        }],

        "BatchSpecification": null,

        "ExcludeFromProductionResults": true,

        "IsGeneric": false,

        "IsBatchDependent": false,

        "Yield": 1,

}

Deleting an existing recipe (currently not available)

Request

DELETE https://app.supplyit.com/api/v2/productrecipes/1234

Accept: application/json

Authorization: f9f69d68-c2e2-47e0-b04b-82ee5ea1eb46

X-Supplyit-LocationCode: 1234

Response

HTTP/1.1 200 OK

(no body)