{"info":{"_postman_id":"a36e15da-b292-47a8-b104-3b94725379a5","name":"Explore API Documentation","description":"<html><head></head><body><p>The Explore API delivers on-package and enriched product data to Label Insight customers. </p>\n<h1 id=\"configurations-and-product-types\">Configurations and Product Types</h1>\n<p>The list of products and the attributes returned for each product is controlled through a unique API configuration. Each configuration is tied to a single Product Type/Category (ex: Food &amp; Beverage, Cosmetics, Pet Food). The data available per product varies by Product Type due to industry regulations and other factors. By limiting each API configuration to a single Product Type, Label Insight can guarantee what the response data will look like and prevent customers from having to write additional logic to parse the data.</p>\n<h1 id=\"access-keys\">Access Keys</h1>\n<p>Each configuration is associated to a unique identifier (the <code>configurationKey</code>). Additionally, each customer will receive a unique identifier which identifies the customer (the <code>x-api-key</code>).  The two identifiers work together and act similar to a username and password.  The two identifiers must be provided on all requests.</p>\n<p>The <code>configurationKey</code> is passed as a path variable while the <code>x-api-key</code> is passed as a request header. Examples are provided in this documentation.</p>\n<h1 id=\"limits\">Limits</h1>\n<p>We have a 10MB response size limit per API request. You may need to decrease your page sizes to avoid reaching this limit. For most customers we recommend starting with a page size of 10.</p>\n<h2 id=\"cors\">CORS</h2>\n<p>The API currently does not support CORS requests.</p>\n<h2 id=\"http-methods\">HTTP Methods</h2>\n<p>The API currently supports the GET method. The GET method is used to retrieve data only and will never cause an update or change to the underlying data.</p>\n<h2 id=\"serialization-formats\">Serialization Formats</h2>\n<p>The API only supports JSON at this time.</p>\n<h1 id=\"response-codes\">Response Codes</h1>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Response Code</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>200</td>\n<td>Success.</td>\n</tr>\n<tr>\n<td>400</td>\n<td>The request is missing key information or is malformed.</td>\n</tr>\n<tr>\n<td>403</td>\n<td>Invalid API key, missing <code>x-api-key</code> header, or invalid URL.</td>\n</tr>\n<tr>\n<td>404</td>\n<td>The requested information cannot be found.</td>\n</tr>\n</tbody>\n</table>\n</div><h1 id=\"scheduled-exports\">Scheduled Exports</h1>\n<p>If you are receiving our data via a monthly scheduled export then you can access it at the following FTP host:  outbound-ftp.labelinsight.com</p>\n<p>In order to encrypt and protect data in transit we require FTPS connections (<a href=\"https://en.wikipedia.org/wiki/FTPS\">https://en.wikipedia.org/wiki/FTPS</a>).</p>\n<p>If a graphical FTP client is needed,we recommend using FileZilla.  FileZilla is free and easy to use.  <a href=\"https://filezilla-project.org\">https://filezilla-project.org</a>.</p>\n<p>Upon logging in to the server you will see the following directory structure:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>    files/\n        yyyy_MM_data.zip\n</code></pre><p>Monthly exports will be added to the files directory in the format shown above.  </p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[{"content":"Configurations and Product Types","slug":"configurations-and-product-types"},{"content":"Access Keys","slug":"access-keys"},{"content":"Limits","slug":"limits"},{"content":"Response Codes","slug":"response-codes"},{"content":"Scheduled Exports","slug":"scheduled-exports"}],"owner":"1700817","collectionId":"a36e15da-b292-47a8-b104-3b94725379a5","publishedId":"RW84qqKJ","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"publishDate":"2018-05-15T20:29:45.000Z"},"item":[{"name":"v2 - Data Endpoints","item":[{"name":"All Products","id":"47274c0c-57e1-40f7-b9e0-f79adcf37707","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"x-api-key","value":"{{gatewayApiKey}}"}],"url":"https://enterprise-li-api.labelinsight.com/api/v2/{{configurationKey}}/data","description":"<p>This is the endpoint for iterating through all of the products that are in a configuration.</p>\n<h3 id=\"cursors-and-pages\">Cursors and Pages</h3>\n<p>As described above, a cursor must be used to iterate over the data.  <em>However</em>, if you provide an incremented page number (starting at 0) in your requests, then the Explore API will perform some basic arithmetic to respond with convenience values such as <code>first</code> and <code>last</code>.</p>\n<h4 id=\"path-variables\">Path Variables</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Path Variable</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>configurationKey</td>\n<td>String</td>\n<td>The unique identifier of the configuration that is being requested.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"query-parameters\">Query Parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Query Parameter</th>\n<th>Type</th>\n<th>Default</th>\n<th>Restrictions</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>cursor</td>\n<td>String</td>\n<td>* (Page 0)</td>\n<td>Must not be present (to start getting data the beginning) or the value defined in the response from the previous request.</td>\n</tr>\n<tr>\n<td>size</td>\n<td>Integer</td>\n<td>20</td>\n<td>Must be between 1 and 50.</td>\n</tr>\n<tr>\n<td>page</td>\n<td>Integer</td>\n<td>0</td>\n<td>Page is not necessary but can be used to keep track of how far along into the results you currently are.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"request-headers\">Request Headers</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Request Header</th>\n<th>Type</th>\n<th>Restrictions</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>x-api-key</td>\n<td>String</td>\n<td>Must be the x-api-key provided to you which uniquely identifies which customer you are.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"api-response\">API Response</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>content</td>\n<td>List</td>\n<td>A list of products.</td>\n</tr>\n<tr>\n<td>cursor</td>\n<td>String</td>\n<td>The value of the current cursor supplied.</td>\n</tr>\n<tr>\n<td>nextCursor</td>\n<td>String</td>\n<td>The value of the cursor to supply as a query parameter to fetch the next page.</td>\n</tr>\n<tr>\n<td>last</td>\n<td>Boolean</td>\n<td>DEPRECATED Indicates if iteration over the list of products is complete if page is also provided.</td>\n</tr>\n<tr>\n<td>first</td>\n<td>Boolean</td>\n<td>DEPRECATED Indicates if this is the first \"page\" if the page is also provided.</td>\n</tr>\n<tr>\n<td>size</td>\n<td>Integer</td>\n<td>Number of products requested.</td>\n</tr>\n<tr>\n<td>numberOfElements</td>\n<td>Integer</td>\n<td>Number of products returned in this response.</td>\n</tr>\n<tr>\n<td>totalPages</td>\n<td>Integer</td>\n<td>Total number of pages.</td>\n</tr>\n<tr>\n<td>totalElements</td>\n<td>Integer</td>\n<td>Total number of products.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["api","v2","{{configurationKey}}","data"],"host":["enterprise-li-api","labelinsight","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"47274c0c-57e1-40f7-b9e0-f79adcf37707"},{"name":"Product by ID","id":"460fa3f4-862d-42e7-9b2a-35f2c2cf28a7","request":{"method":"GET","header":[{"key":"x-api-key","value":"{{gatewayApiKey}}"}],"body":{"mode":"formdata","formdata":[]},"url":"https://enterprise-li-api.labelinsight.com/api/v2/{{configurationKey}}/data/id/{{id}}","description":"<p>Returns a single product with the provided ID.</p>\n","urlObject":{"protocol":"https","path":["api","v2","{{configurationKey}}","data","id","{{id}}"],"host":["enterprise-li-api","labelinsight","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"460fa3f4-862d-42e7-9b2a-35f2c2cf28a7"},{"name":"Product by UPC","id":"172dbb4c-a71f-411a-8d36-cb0f580a04ea","request":{"method":"GET","header":[{"key":"x-api-key","value":"{{gatewayApiKey}}"}],"body":{"mode":"formdata","formdata":[]},"url":"https://enterprise-li-api.labelinsight.com/api/v2/{{configurationKey}}/data/upc/{{upc}}","description":"<p>Returns a single product with the provided UPC.</p>\n","urlObject":{"protocol":"https","path":["api","v2","{{configurationKey}}","data","upc","{{upc}}"],"host":["enterprise-li-api","labelinsight","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"172dbb4c-a71f-411a-8d36-cb0f580a04ea"},{"name":"All Products Consolidated","id":"ab780833-c95d-49e0-a409-860ad4e1b6a9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"x-api-key","type":"text","value":"{{gatewayApiKey}}"}],"body":{"mode":"raw","raw":"{\n    \"customerApiKeys\": [\n        {{configurationKey}}\n    ]\n}","options":{"raw":{"language":"json"}}},"url":"https://enterprise-li-api.labelinsight.com/api/v2/data","description":"<p>This endpoint should be used if you have licensed multiple Product Types or Configurations from Label Insight.\nThis endpoint will return products only for the configurations provided in the request body.</p>\n<h2 id=\"api-response\">Api Response</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>content</td>\n<td>List</td>\n<td>A list of Products.</td>\n</tr>\n<tr>\n<td>last</td>\n<td>Boolean</td>\n<td>Indicates if iteration over the list of products is complete if page is also provided.</td>\n</tr>\n<tr>\n<td>first</td>\n<td>Boolean</td>\n<td>Indicates if this is the first \"page\" if the page is also provided.</td>\n</tr>\n<tr>\n<td>size</td>\n<td>Integer</td>\n<td>Number of products requested.</td>\n</tr>\n<tr>\n<td>numberOfElements</td>\n<td>Integer</td>\n<td>Number of products returned in this response.</td>\n</tr>\n<tr>\n<td>totalPages</td>\n<td>Integer</td>\n<td>Total number of pages.</td>\n</tr>\n<tr>\n<td>totalElements</td>\n<td>Integer</td>\n<td>Total number of products.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["api","v2","data"],"host":["enterprise-li-api","labelinsight","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"ab780833-c95d-49e0-a409-860ad4e1b6a9"}],"id":"5efe60de-403d-40fe-98c0-277b463c699e","description":"<h2 id=\"accessing-the-data\">Accessing the Data</h2>\n<p>This endpoint allows customers to iterate over all of the products in a configuration.  It uses the concept of a <em>cursor</em> to iterate over a page.  Standard paging is not used.</p>\n<h2 id=\"cursors\">Cursors</h2>\n<p>A cursor is a marker to a specific spot in the data set, allowing us to maintain previous levels of performance while guaranteeing results aren’t skipped or duplicated. It also allows us to better leverage our search datastore for multiple use cases.</p>\n<h2 id=\"using-cursors\">Using cursors</h2>\n<p>Cursors are provided using the <code>cursor</code> request parameter.  If none is sent then a default value is used which provides the equivalent of page 0.  All responses will return a <code>nextCursor</code> field.  In order to get the next \"page\" of data, the <code>nextCursor</code> provided in the most recent response should then be used as the <code>cursor</code> request paramenter in the next request to the Explore API.</p>\n<p>You have reached the end of the data set when the <code>nextCursor</code> in the response provided by the API equals the <code>cursor</code> that was provided in the request.</p>\n<h2 id=\"url-encoding\">URL Encoding</h2>\n<p><strong>Important Note:  The cursor request parameter must be URL encoded.</strong>  More information about URL encoding can be found here:  <a href=\"https://en.wikipedia.org/wiki/Percent-encoding\">https://en.wikipedia.org/wiki/Percent-encoding</a>.</p>\n<h1 id=\"api-responses\">API Responses</h1>\n<h2 id=\"product\">Product</h2>\n<p>Responses are structured based on Product Type and other filtering options in the customer API configuration. Due to this variability, it is impossible to provide examples for every unique type of response. This documentation provides examples of responses common for all product types and sample json objects which are similar across different product types.</p>\n<h3 id=\"basic-structure\">Basic structure</h3>\n<p>Please note that the following table displays the fields that will always be available across all product types.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>productId</td>\n<td>Number</td>\n</tr>\n<tr>\n<td>productType</td>\n<td>String</td>\n</tr>\n<tr>\n<td>upc</td>\n<td>String</td>\n</tr>\n<tr>\n<td>brand</td>\n<td>String</td>\n</tr>\n<tr>\n<td>distributor</td>\n<td>String</td>\n</tr>\n<tr>\n<td>importedBy</td>\n<td>String</td>\n</tr>\n<tr>\n<td>manufacturer</td>\n<td>String</td>\n</tr>\n<tr>\n<td>netWeight1</td>\n<td>String</td>\n</tr>\n<tr>\n<td>netWeight2</td>\n<td>String</td>\n</tr>\n<tr>\n<td>netWeight3</td>\n<td>String</td>\n</tr>\n<tr>\n<td>productSize</td>\n<td>String</td>\n</tr>\n<tr>\n<td>productSize2</td>\n<td>String</td>\n</tr>\n<tr>\n<td>productSize3</td>\n<td>String</td>\n</tr>\n<tr>\n<td>productTitle</td>\n<td>String</td>\n</tr>\n<tr>\n<td>dateCreated</td>\n<td>String</td>\n</tr>\n<tr>\n<td>dateLive</td>\n<td>String</td>\n</tr>\n<tr>\n<td>specs</td>\n<td>Object</td>\n</tr>\n</tbody>\n</table>\n</div><p>Example Product:  </p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code> {\n    \"brand\": \"YOPLAIT\",\n    \"distributor\": \"YOPLAIT USA, INC.\",\n    \"importedBy\": \"\",\n    \"manufacturer\": \"\",\n    \"netWeight1\": \"6 oz\",\n    \"netWeight2\": \"170 g\",\n    \"netWeight3\": \"\",\n    \"productSize\": \"6 oz\",\n    \"productSize2\": \"170 g\",\n    \"productSize3\": \"\",\n    \"productTitle\": \"ORIGINAL LOW FAT YOGURT\",\n    \"productId\": 4646052,\n    \"productType\": \"Food\",\n    \"upc\": \"070470464916\",\n    \"dateCreated\": \"2018-04-16T00:00:00.000+0000\",\n    \"dateLive\": \"2018-05-03T18:22:11.000+0000\"\n}\n</code></pre><h3 id=\"spec-example\">Spec Example</h3>\n<p>We treat Specs in a very dynamic fashion - we are constantly adding new \"standard\" Specs and also custom ones for our customers.  We treat Specs as an object (map) and a specific Spec name is used as a key within the object.  </p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>\"specs\": {\n  \"allergensAndIntolerances\": [\n      {\n          \"segment\": \"Allergens\",\n          \"characteristic\": \"Egg Containment\",\n          \"value\": \"Not Applicable\"\n      },\n      {\n          \"segment\": \"Allergens\",\n          \"characteristic\": \"Fish Containment\",\n          \"value\": \"Fish Free\"\n      }\n    ]\n}\n</code></pre><h3 id=\"other-available-data\">Other available data</h3>\n<p>Below are just a few examples of other data that we can provide via the API.</p>\n<ul>\n<li>Product Categorization</li>\n<li>Nutrient Fact Panels (and nutrients)</li>\n<li>GTIN Formats</li>\n<li>Nutrients per RACC</li>\n<li>Serving Information</li>\n<li>Warnings</li>\n</ul>\n","event":[{"listen":"prerequest","script":{"id":"b8041ec1-649a-4431-8566-e0f44a79777b","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"02757cc2-7f71-4b83-bd8e-81e2eb77e188","type":"text/javascript","exec":[""]}}],"_postman_id":"5efe60de-403d-40fe-98c0-277b463c699e"},{"name":"Delta API","item":[{"name":"Get Deltas","id":"3bca173e-3b16-47b3-ac20-126c6f0a8619","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"x-api-key","value":"","description":"<p>Must be the x-api-key provided to you which uniquely identifies which customer you are.</p>\n"}],"url":"https://enterprise-li-api.labelinsight.com/api/v2/delta/:configurationKey?to&from&size&content&page","description":"<p>This endpoint should be used if you have licensed or receive one Product Type or only one Configuration from Label Insight.\nThis endpoint will return delta events only for the configuration provided as a path variable, regardless of how many configurations or product types you have licensed.\nIf you have multiple configurations and would like to receive a consolidated feed of delta events for all configurations, please see the POST endpoint below.</p>\n<h1 id=\"responses\">Responses</h1>\n<h2 id=\"api-response\">Api Response</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>content</td>\n<td>List</td>\n<td>A list of Delta API Events.</td>\n</tr>\n<tr>\n<td>last</td>\n<td>Boolean</td>\n<td>Indicates if iteration over the list of products is complete if page is also provided.</td>\n</tr>\n<tr>\n<td>first</td>\n<td>Boolean</td>\n<td>Indicates if this is the first \"page\" if the page is also provided.</td>\n</tr>\n<tr>\n<td>size</td>\n<td>Integer</td>\n<td>Number of products requested.</td>\n</tr>\n<tr>\n<td>numberOfElements</td>\n<td>Integer</td>\n<td>Number of products returned in this response.</td>\n</tr>\n<tr>\n<td>totalPages</td>\n<td>Integer</td>\n<td>Total number of pages.</td>\n</tr>\n<tr>\n<td>totalElements</td>\n<td>Integer</td>\n<td>Total number of products.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"delta-event\">Delta Event</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Sub Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>productId</td>\n<td></td>\n<td>Integer</td>\n<td>The unique numerical identifier assigned by Label Insight for identification purposes.</td>\n</tr>\n<tr>\n<td>upc</td>\n<td></td>\n<td>String</td>\n<td>UPC of the product as listed on the package.</td>\n</tr>\n<tr>\n<td>event</td>\n<td></td>\n<td>Enum (ADDED\\MODIFIED\\REMOVED)</td>\n<td>Indicates if a product has been added, removed, or modified.</td>\n</tr>\n<tr>\n<td>timestamp</td>\n<td></td>\n<td>Timestamp</td>\n<td>The timestamp that this event occurred.</td>\n</tr>\n<tr>\n<td>content</td>\n<td></td>\n<td>Object</td>\n<td>The JSON object containing the delta information</td>\n</tr>\n<tr>\n<td>PATCH</td>\n<td>Object</td>\n<td><em>DEPRECATED</em> A JSON Patch (<a href=\"https://tools.ietf.org/html/rfc6902\">https://tools.ietf.org/html/rfc6902</a>) object representing the exact changes on a product</td>\n<td></td>\n</tr>\n<tr>\n<td>PRODUCT</td>\n<td>Object</td>\n<td>The exact product at this time as it would be returned from the Data API</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["api","v2","delta",":configurationKey"],"host":["enterprise-li-api","labelinsight","com"],"query":[{"description":{"content":"<p>Returns delta events ending at this date.  Format yyyy-mm-dd.  This field is required.</p>\n","type":"text/plain"},"key":"to","value":null},{"description":{"content":"<p>Returns delta events starting from this date.    Format yyyy-mm-dd.  This field is required.</p>\n","type":"text/plain"},"key":"from","value":null},{"description":{"content":"<p>The number of delta events to return.</p>\n","type":"text/plain"},"key":"size","value":null},{"description":{"content":"<p>The type of Delta content you are requesting.  Valid options are: PATCH, PRODUCT.  Both delta types are returned by default.</p>\n<p>PRODUCT:  provides a copy of the product as it existed at the specific time the delta event occurred</p>\n<p>PATCH:  (DEPRECATED) provides a JSON patch (<a href=\"https://tools.ietf.org/html/rfc6902\">https://tools.ietf.org/html/rfc6902</a>) of the exact delta</p>\n","type":"text/plain"},"key":"content","value":null},{"description":{"content":"<p>The page number of the request.  Default is 0.</p>\n","type":"text/plain"},"key":"page","value":null}],"variable":[{"description":{"content":"<p>The unique identifier of the configuration that is being requested.</p>\n","type":"text/plain"},"type":"string","value":"","key":"configurationKey"}]}},"response":[],"_postman_id":"3bca173e-3b16-47b3-ac20-126c6f0a8619"},{"name":"Get Consolidated Deltas","id":"3d1df238-3577-4ba1-bd8b-bca2a23b0338","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"description":"<p>Must be the x-api-key provided to you which uniquely identifies which customer you are.</p>\n","key":"x-api-key","value":""},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"configurationKeys\": [\n        \"CONFIGURATION_KEY_1\",\n        \"CONFIGURATION_KEY_2\"\n    ]\n}","options":{"raw":{"language":"json"}}},"url":"https://enterprise-li-api.labelinsight.com/api/v2/delta?to&from&size&content&page","description":"<p>This endpoint should be used if you have licensed multiple Product Types or Configurations from Label Insight.\nThis endpoint will return delta events only for the configurations provided in the request body.</p>\n<h1 id=\"responses\">Responses</h1>\n<h2 id=\"api-response\">Api Response</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>content</td>\n<td>List</td>\n<td>A list of Delta API Events.</td>\n</tr>\n<tr>\n<td>last</td>\n<td>Boolean</td>\n<td>Indicates if iteration over the list of products is complete if page is also provided.</td>\n</tr>\n<tr>\n<td>first</td>\n<td>Boolean</td>\n<td>Indicates if this is the first \"page\" if the page is also provided.</td>\n</tr>\n<tr>\n<td>size</td>\n<td>Integer</td>\n<td>Number of products requested.</td>\n</tr>\n<tr>\n<td>numberOfElements</td>\n<td>Integer</td>\n<td>Number of products returned in this response.</td>\n</tr>\n<tr>\n<td>totalPages</td>\n<td>Integer</td>\n<td>Total number of pages.</td>\n</tr>\n<tr>\n<td>totalElements</td>\n<td>Integer</td>\n<td>Total number of products.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"delta-event\">Delta Event</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Sub Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>productId</td>\n<td></td>\n<td>Integer</td>\n<td>The unique numerical identifier assigned by Label Insight for identification purposes.</td>\n</tr>\n<tr>\n<td>upc</td>\n<td></td>\n<td>String</td>\n<td>UPC of the product as listed on the package.</td>\n</tr>\n<tr>\n<td>event</td>\n<td></td>\n<td>Enum (ADDED\\MODIFIED\\REMOVED)</td>\n<td>Indicates if a product has been added, removed, or modified.</td>\n</tr>\n<tr>\n<td>timestamp</td>\n<td></td>\n<td>Timestamp</td>\n<td>The timestamp that this event occurred.</td>\n</tr>\n<tr>\n<td>content</td>\n<td></td>\n<td>Object</td>\n<td>The JSON object containing the delta information</td>\n</tr>\n<tr>\n<td>PATCH</td>\n<td>Object</td>\n<td><em>DEPRECATED</em> A JSON Patch (<a href=\"https://tools.ietf.org/html/rfc6902\">https://tools.ietf.org/html/rfc6902</a>) object representing the exact changes on a product</td>\n<td></td>\n</tr>\n<tr>\n<td>PRODUCT</td>\n<td>Object</td>\n<td>The exact product at this time as it would be returned from the Data API</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["api","v2","delta"],"host":["enterprise-li-api","labelinsight","com"],"query":[{"description":{"content":"<p>Returns delta events ending at this date.  Format yyyy-mm-dd.  This field is required.</p>\n","type":"text/plain"},"key":"to","value":null},{"description":{"content":"<p>Returns delta events starting from this date.    Format yyyy-mm-dd.  This field is required.</p>\n","type":"text/plain"},"key":"from","value":null},{"description":{"content":"<p>The number of delta events to return.</p>\n","type":"text/plain"},"key":"size","value":null},{"description":{"content":"<p>The type of Delta content you are requesting.  Valid options are: PATCH, PRODUCT.  Both delta types are returned by default.</p>\n<p>PRODUCT:  provides a copy of the product as it existed at the specific time the delta event occurred</p>\n<p>PATCH:  (DEPRECATED) provides a JSON patch (<a href=\"https://tools.ietf.org/html/rfc6902\">https://tools.ietf.org/html/rfc6902</a>) of the exact delta</p>\n","type":"text/plain"},"key":"content","value":null},{"description":{"content":"<p>The page number of the request.  Default is 0.</p>\n","type":"text/plain"},"key":"page","value":null}],"variable":[]}},"response":[],"_postman_id":"3d1df238-3577-4ba1-bd8b-bca2a23b0338"}],"id":"1453d182-cfcf-43f2-ab39-a6dbdcf701b9","description":"<p>The Delta API provides a mechanism for tracking what products have been modified over a period of time.  The API provides the information necessary to track product-level changes without having to re-ingest the entire API.  Further, the Delta API provides the most accurate way to know when products have changed since last ingestion.</p>\n<h2 id=\"event-descriptions\">Event Descriptions</h2>\n<h3 id=\"added\">ADDED</h3>\n<p>Indicates that a new productId was created in the Label Insight database. There are typically two scenarios where this would occur: 1) a new UPC was submitted to Label Insight; 2) a newer version of an existing UPC was submitted to Label Insight. In the second scenario, the “ADDED” event would have a corresponding “REMOVED” event for the older productId.</p>\n<h3 id=\"modified\">MODIFIED</h3>\n<p>Indicates that there has been a change to an existing UPC within our system that did not result in the addition of a new productId. The JSON Patch feature can be used to determine the exact modification.</p>\n<h3 id=\"removed\">REMOVED</h3>\n<p>Indicates that a productId has been removed from the Label Insight database. The most common scenarios where this would occur are: 1) a newer version of an existing UPC was submitted to Label Insight which resulted in the addition of a new productId and the removal of an older productId; 2) an existing UPC was discontinued by the manufacturer</p>\n","event":[{"listen":"prerequest","script":{"id":"c84cd7fd-a0c5-4643-9b2d-bc29719f629d","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"5615b949-35bb-4636-8032-d46c63ba3c94","type":"text/javascript","exec":[""]}}],"_postman_id":"1453d182-cfcf-43f2-ab39-a6dbdcf701b9"},{"name":"Configuration Delta API","item":[{"name":"Get Configuration Deltas","id":"683c22d9-fa34-47dd-84f9-307299533a3f","request":{"method":"GET","header":[{"key":"x-api-key","value":"","description":"<p>Must be the x-api-key provided to you which uniquely identifies which customer you are.</p>\n"}],"body":{"mode":"formdata","formdata":[]},"url":"https://enterprise-li-api.labelinsight.com/api/data-contract/delta/:configurationKey?from","description":"<h1 id=\"responses\">Responses</h1>\n<h2 id=\"api-response\">API Response</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>content</td>\n<td>List</td>\n<td>A list of Configuration Delta Events.</td>\n</tr>\n<tr>\n<td>last</td>\n<td>Boolean</td>\n<td>Indicates if iteration over the list of products is complete if page is also provided.</td>\n</tr>\n<tr>\n<td>first</td>\n<td>Boolean</td>\n<td>Indicates if this is the first \"page\" if the page is also provided.</td>\n</tr>\n<tr>\n<td>size</td>\n<td>Integer</td>\n<td>Number of products requested.</td>\n</tr>\n<tr>\n<td>numberOfElements</td>\n<td>Integer</td>\n<td>Number of configuration delta events returned in this response.</td>\n</tr>\n<tr>\n<td>totalPages</td>\n<td>Integer</td>\n<td>Total number of pages.</td>\n</tr>\n<tr>\n<td>totalElements</td>\n<td>Integer</td>\n<td>Total number of configuration delta events.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"configuration-delta-event\">Configuration Delta Event</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>event</td>\n<td>String</td>\n<td>Either CREATED or MODIFIED</td>\n</tr>\n<tr>\n<td>dateActivated</td>\n<td>Timestamp</td>\n<td>The dateTime that this event was created</td>\n</tr>\n<tr>\n<td>dateDeactivated</td>\n<td>Timestamp</td>\n<td>The date and time that this event was no longer the most recent/active event</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["api","data-contract","delta",":configurationKey"],"host":["enterprise-li-api","labelinsight","com"],"query":[{"description":{"content":"<p>Returns configuration delta events starting from this date.    Format yyyy-mm-dd.</p>\n","type":"text/plain"},"key":"from","value":null}],"variable":[{"description":{"content":"<p>The unique identifier of the configuration that is being requested.</p>\n","type":"text/plain"},"type":"any","value":"","key":"configurationKey"}]}},"response":[],"_postman_id":"683c22d9-fa34-47dd-84f9-307299533a3f"}],"id":"606fd7c7-6424-4833-870c-e3c0b68395b0","description":"<p>The Delta API is great for knowing when a specific attribute on a specific product has been modified.  However, this does not account for when new attributes are added to your data and all products are modified with new data.  The Configuration Delta API programmatically solves the problem of knowing when all data has been updated.</p>\n<p>This API will provide a history of the changes to a specific Explore API Configuration.  For example, if it your API is created on day one and then new attributes are added on day two, the API would provide a CREATED and a MODIFIED event.  It is also possible to receive an UNMODIFIED event which indicates that an administrative change occurred with no changes made to the data delivered by the API - UNMODIFIED events can effectively be ignored.</p>\n<p>This API can be called at any time interval and the consumers can trigger a full reingestion of data from the Explore API if they see a new MODIFIED since the last EVENT that they have tracked.</p>\n","event":[{"listen":"prerequest","script":{"id":"16d9a524-cd39-4c37-b9a8-3855b3ac931d","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"847a2cdb-5b9e-43ac-8d97-6e2065e111cd","type":"text/javascript","exec":[""]}}],"_postman_id":"606fd7c7-6424-4833-870c-e3c0b68395b0"}],"event":[{"listen":"prerequest","script":{"id":"11f8f14f-a57a-41eb-8d18-30792d99aa4d","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"a4080f08-5f62-49df-8483-b1d11ba46e4a","type":"text/javascript","exec":[""]}}],"variable":[{"value":""}]}