{"info":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","description":"<html><head></head><body><h1 id=\"getting-started\">Getting Started!</h1>\n\n<p>Welcome to Limble CMMS’s API documentation.<br><br>You can use this documentation to configure connections to the Limble CMMS API over https using RESTful standards.</p>\n\n<p><br>Using the API you can get information about the following portions of your system:</p>\n\n<ul><li><div>Assets</div></li><li><div>Locations</div></li><li><div>Parts (Current quantities and Usage)</div></li><li><div>Tasks (Work Orders, Preventive Maintenance, Work Requests, etc.)</div></li><li><div>Users</div></li><li><div>Vendors</div></li><li><div>Roles</div></li><li><div>Teams</div></li><li><div>Purchase Orders</div></li><li><div>General Ledgers</div></li><li><div>Budgets</div></li><li><div>Priorities</div></li><li><div>Tags</div></li><li><div>Statuses</div></li><li><div>Bills</div></li><li><div>Regions</div></li><li><div>Webhooks</div></li><li><div>Units of Measure(UOM)</div></li></ul>\n\n<p>Please use the correct Limble API URL to connect to our API based on the region or the type of your Limble Account.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Limble Account (Region/Type)</strong></th>\n<th><strong>Limble API URL</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Default</td>\n<td>api.limblecmms.com</td>\n</tr>\n<tr>\n<td>Canada</td>\n<td>ca-api.limblecmms.com</td>\n</tr>\n<tr>\n<td>Australia</td>\n<td>au-api.limblecmms.com</td>\n</tr>\n<tr>\n<td>Europe</td>\n<td>eu-api.limblecmms.com</td>\n</tr>\n<tr>\n<td>21CFR</td>\n<td>21cfr-api.limblecmms.com</td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n<h1 id=\"authentication\">Authentication</h1>\n<p><br>To protect your information the Limble CMMS API uses BASIC authorization standards.<br><br>Every call to the API must include an authorization header with your base 64 encoded id and secret.<br><br><b>Client ID</b><br><br>Your Client ID is your unique customer identification.<br><br><b>Client Secret</b><br><br>Your Client Secret is used to authenticate the Client ID on each API call. This is something that <b>must be kept secret</b>.<br></p>\n\n<blockquote>\n<p>How do I get my Client ID and Client Secret? </p>\n</blockquote>\n<p>To obtain your Client ID and Client Secret login to your Limble account as a <strong>Super Administrator</strong> and go to <strong>Settings</strong> -&gt; <strong>Configuration</strong>, on this page scroll down to the <strong>API Settings</strong> section and click <strong>Generate API Keys</strong>. Keep this information <strong>secret</strong>, you will only be able to see your Client Secret once upon initial generation. If you lose your secret you will need to regenerate it and update your integration accordingly.</p>\n<blockquote>\n<p>Example Header<br>Authorization: Basic [BASE64 ENCODED YOUR_CLIENT_ID:YOUR_CLIENT_SECRET </p>\n</blockquote>\n<p>Below is a code example for PHP:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>$curl = curl_init();\n$id = 'your_client_id';\n$secret = 'your_client_id';\n$headers = array(\n    'Content-Type:application/json',\n    'Authorization: Basic '. base64_encode($id.':'.$secret)\n);\ncurl_setopt($ch, CURLOPT_HTTPHEADER, $headers);\ncurl_setopt_array($curl, array(\n  CURLOPT_URL =&gt; 'https://api.limblecmms.com:443/v2/tasks/',\n  CURLOPT_RETURNTRANSFER =&gt; true,\n  CURLOPT_ENCODING =&gt; \"\",\n  CURLOPT_MAXREDIRS =&gt; 10,\n  CURLOPT_TIMEOUT =&gt; 0,\n  CURLOPT_FOLLOWLOCATION =&gt; false,\n  CURLOPT_HTTP_VERSION =&gt; CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST =&gt; \"GET\",\n));\n$response = curl_exec($curl);\n$err = curl_error($curl);\ncurl_close($curl);\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n} ?&gt;\n\n</code></pre><p>Below is a code example for NodeJS:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>const https = require('https');\nconst id = 'your_client_id';\nconst secret = 'your_client_secret';\nconst options = {\n  'method': 'GET',\n  'hostname': 'api.limblecmms.com',\n  'path': '/v2/tasks/?',\n  'headers': {\n    'Authorization': 'Basic ' + Buffer.from(`${credentials.id}:${credentials.secret}`).toString('base64')\n  }\n};\nconst req = https.request(options, function (res) {\n  const chunks = [];\n  res.on(\"data\", function (chunk) {\n    chunks.push(chunk);\n  });\n  res.on(\"end\", function (chunk) {\n    const body = Buffer.concat(chunks);\n    console.log(body.toString());\n  });\n  res.on(\"error\", function (error) {\n    console.error(error);\n  });\n});\nreq.end();\n\n</code></pre><hr>\n<h1 id=\"error-codes\">Error Codes</h1>\n<ul>\n<li><p>HTTP 400 - Data Validation Error - Malformed JSON input or incorrect data type.</p>\n</li>\n<li><p>HTTP 403 - Forbidden - The resource cannot be accessed.</p>\n</li>\n<li><p>HTTP 404 - Resource not found - The resource you are targeting does not exist.</p>\n</li>\n<li><p>HTTP 409 - Resource Conflict - A resource already exists with those parameters.</p>\n</li>\n<li><p>HTTP 422 - Unprocessable Entity - The syntax of the request is correct but cannot be processed due to semantic errors.</p>\n</li>\n<li><p>HTTP 429 - Too Many Requests - See the rate limiting section below.</p>\n</li>\n<li><p>HTTP 500 - Internal Server Error - Contact Limble for assistance.</p>\n</li>\n<li><p>HTTP 501 - Method Not Support - Limble's API only supports GET, POST, PATCH, PUT, and DELETE.</p>\n</li>\n</ul>\n<hr>\n<h1 id=\"success-codes\">Success Codes</h1>\n<ul>\n<li><p>HTTP 200 - OK - Everything was successful. PUTs, PATCHs and DELETEs on success always return an empty 200 OK.</p>\n</li>\n<li><p>HTTP 201 - CREATED - This is used on POST calls when new resouces are created. If a new resource was created Limble will always pass back a GET URL in the location header so a developer can easily GET the new resource.</p>\n</li>\n</ul>\n<hr>\n<h1 id=\"overriding-http-methods\">Overriding HTTP methods</h1>\n<p>Some systems may support only the <code>POST</code> and <code>GET</code> HTTP methods. This restriction prevents using other HTTP methods such as <code>PUT</code>, <code>PATCH</code> and <code>DELETE</code>. RESTful web API implementations can work around this restriction by letting the client override the HTTP method via the custom HTTP headers.</p>\n<p>The Limble API supports <strong>Method Overrides</strong> by using a <code>POST</code> request and setting the <code>X-HTTP-Method-Override</code> header with a method string value. The header value can be <code>PATCH</code> or <code>PUT</code>. This will allow Limble API users to use <code>PATCH</code> and <code>PUT</code> endpoints by sending <code>POST</code> requests to these endpoints and overriding them with the respective HTTP method.</p>\n<h1 id=\"webhooks\">Webhooks</h1>\n<p>Receive data on certain events such as Tasks being completed.</p>\n<p>Limble's webhooks allow you to receive data whenever specific events occur.</p>\n<p>For example, you may need to run your own script whenever a Task is completed.</p>\n<p>Limble supports adding multiple webhooks that can be triggered when actions are carried out on:</p>\n<ul>\n<li><p>Tasks</p>\n</li>\n<li><p>Assets</p>\n</li>\n<li><p>Asset Fields</p>\n</li>\n<li><p>Purchase Orders</p>\n</li>\n<li><p>Purchase Order Items</p>\n</li>\n</ul>\n<p>When an event occurs, Limble sends an HTTP POST request to a URL endpoint you configure.</p>\n<p>You can configure this URL in the Limble Web App under:</p>\n<p><strong>Settings → Configuration → API Settings</strong></p>\n<p>All data sent is JSON-encoded, and Limble includes the following fields in the request headers for validation:</p>\n<ul>\n<li><p><code>signature</code></p>\n</li>\n<li><p><code>timestamp</code></p>\n</li>\n<li><p><code>token</code></p>\n</li>\n</ul>\n<p>You may register multiple webhooks for the same event type.</p>\n<h3 id=\"important-api-key-requirement-for-webhooks\">Important: API Key Requirement for Webhooks</h3>\n<p>To receive webhooks, the customer must have at least one active <strong>limbleAPI key</strong> created in API Settings.</p>\n<ul>\n<li><p>Webhooks <strong>will not function</strong> without at least one valid <code>limbleAPI</code> key.</p>\n</li>\n<li><p>Limble uses the <strong>first-created</strong> <strong><code>limbleAPI</code></strong> <strong>key</strong> (by creation date) to generate the <strong>signature</strong> included in webhook headers.</p>\n</li>\n<li><p>The receiving system must use this key to verify the authenticity of incoming webhook requests.</p>\n</li>\n</ul>\n<p>If a customer has multiple <code>limbleAPI</code> keys, <strong>only the oldest one</strong> will be used for signing webhook requests.</p>\n<h3 id=\"response-time-and-retry-behavior\">Response Time and Retry Behavior</h3>\n<p>Your server must respond to webhook POST requests within <strong>10 seconds</strong>.</p>\n<p>If it does not, Limble will attempt to retry the webhook request.</p>\n<p>Limble handles server responses as follows:</p>\n<ul>\n<li><p>If the server returns <strong>200 OK</strong>, Limble considers the webhook successful and will not retry.</p>\n</li>\n<li><p>If the server returns <strong>406 Not Acceptable</strong>, Limble considers the webhook received but intentionally ignored — no retry will occur.</p>\n</li>\n<li><p>For any other response (e.g., 500, timeout, etc.), Limble will retry the request.</p>\n</li>\n</ul>\n<p><strong>Retry schedule:</strong></p>\n<ul>\n<li><p>After 10 minutes</p>\n</li>\n<li><p>After 1 hour</p>\n</li>\n<li><p>After 2 hours</p>\n</li>\n<li><p>After 4 hours</p>\n</li>\n</ul>\n<p>After the final retry attempt, the webhook will be <strong>automatically disabled</strong>.</p>\n<h3 id=\"re-enabling-a-disabled-webhook\">Re-enabling a Disabled Webhook</h3>\n<p>To re-enable a disabled webhook:</p>\n<ol>\n<li><p>Go to <strong>Settings → Configuration → API Settings</strong> in the Limble Web App.<br> Find the webhook and use the option to <strong>Re-enable</strong> the API endpoint.</p>\n</li>\n<li><p>Alternatively, send a <code>PATCH</code> request using the <strong>Update Webhook</strong> endpoint and set <code>enabled = true</code>.</p>\n</li>\n</ol>\n<h3 id=\"assets\">Assets</h3>\n<p>Below is an example payload you might be sent when an event occurs on an asset:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n   \"assetID\": 10748, \n   \"status\": \"CREATED\",\n   \"category\": \"asset\", \n   \"user\": \"bob@limblecmms.com\" \n}\n\n</code></pre><p>Once the Payload is received you can use the Get Assets API call to get the most recent Asset data. The following is a list of all the possible statuses that a webhook might be set to:</p>\n<table><tbody><tr><th>Status</th><th>Description</th></tr><tr><td><div>CREATED</div><div><div><div><div></div></div></div><div></div></div></td><td><div>An Asset is created</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>DELETED</div><div><div><div><div></div></div></div><div></div></div></td><td><div>An Asset was deleted</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGED ASSET NAME</div><div><div><div><div></div></div></div><div></div></div></td><td><div>An asset has been renamed</div><div><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>\n\n<h3 id=\"asset-field\">Asset Field</h3>\n<p>Below is an example payload you might be sent when an event occurs on an asset field:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"valueID\": 46490,\n  \"status\": \"DELETED\",\n  \"category\": \"assetField\",\n  \"user\": \"bob@limblecmms.com\"\n}\n\n</code></pre><p>Once the Payload is received you can use the Get Asset Field API call to get the most recent Asset Field data. The following is a list of all the possible statuses that a webhook might be set to:</p>\n<table><tbody><tr><th>Status</th><th>Description</th></tr><tr><td><div>ADDED</div><div><div><div><div></div></div></div><div></div></div></td><td><div>An Asset Field was added to an Asset</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>DELETED</div><div><div><div><div></div></div></div><div></div></div></td><td><div>An Asset Field was deleted from an Asset</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>UPDATED</div><div><div><div><div></div></div></div><div></div></div></td><td><div>An Asset Field was updated on an Asset</div><div><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>\n\n<h3 id=\"location\">Location</h3>\n<p>Below is an example payload you might be sent when an event occurs on an location field:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"valueID\": 46490,\n  \"status\": \"DELETED\",\n  \"category\": \"location\",\n  \"user\": \"bob@limblecmms.com\"\n}\n\n</code></pre><p>Once the Payload is received you can use the Get Location API call to get the most recent Location data. The following is a list of all the possible statuses that a webhook might be set to:</p>\n<table><tbody><tr><th>Status</th><th>Description</th></tr><tr><td><div>CREATED</div><div><div><div><div></div></div></div><div></div></div></td><td><div>An Location was added</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>DELETED</div><div><div><div><div></div></div></div><div></div></div></td><td><div>An Location was deleted</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>UPDATED</div><div><div><div><div></div></div></div><div></div></div></td><td><div>An Location was updated</div><div><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>\n\n<h3 id=\"parts\">Parts</h3>\n<p>For Parts, you may receive a webhook that looks like this:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{  \n   \"partID\": 3456,\n   \"status\": \"CREATED\",\n   \"category\": \"part\",\n   \"user\": \"bob@limblecmms.com\"\n}\n\n</code></pre><p>All possible statuses for Parts webhooks are as follows:</p>\n<table><tbody><tr><th>Status</th><th>Description</th></tr><tr><td><div>CREATED</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A Part was created.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>DELETED</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A Part was deleted.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>LOCATION UPDATED</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A Part had its location updated.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>SUPPLIER UPDATED</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A Part had its supplier updated.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>PRICE UPDATED</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A Part had its price updated.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>NAME UPDATED</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A Part had its name updated.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>QUANTITY INCREASED</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The quantity of a part increased.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>QUANTITY DECREASED</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The quantity of a part decreased.</div><div><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>\n\n<h3 id=\"purchase-order\">Purchase Order</h3>\n<p>If you have enabled purchasing webhooks, you may receive a webhook for POs that looks like this:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{  \n   \"poID\": 8203,\n   \"status\": \"READY TO RECEIVE\",\n   \"category\": \"po\",\n   \"user\": \"bob@limblecmms.com\"\n}\n\n</code></pre><p>Possible statuses for PO webhooks are:</p>\n<table><tbody><tr><th>Status</th><th>Description</th></tr><tr><td><div>CREATED</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A PO was created.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>SETUP</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A PO has been reset and now has the setup status.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGE STATUS</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A PO has been approved and now has a custom status.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>READY TO RECEIVE</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A PO now has the Ready to Receive status.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>PARTIALLY RECEIVED</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A PO has received any number of items and now has the Partially Received status.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>FULLY RECEIVED</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A PO has received all of its items and now has the Fully Received status.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CLOSED</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A PO has had all items received and all bills paid and now has the Closed status.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>DELETED</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A PO was deleted.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGE BUDGET</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A PO has been assigned a new budget.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGE VENDOR</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A PO has been assigned a new vendor.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGE NUMBER</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A PO's PO Number has been modified.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGE BILL-TO</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A PO's bill-to field has been modified.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGE SHIP-TO</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A PO's ship-to field has been modified.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGE NOTES TO VENDOR</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A PO's \"Notes to Vendor\" field has been modified.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGE CUSTOM FIELD</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Any of a PO's custom fields has been modified.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGE ASSIGNMENT</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A PO has had its assignment (user, team, multi-user) modified.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGE DATE</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A PO's created date has been modified.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGE DELIVERY DATE</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A PO's expected delivery date has been modified.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>DISAPPROVED PURCHASE REQUEST</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A Purchase Request PO has been disapproved.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>REOPENED PURCHASE REQUEST</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A disapproved Purchase Request PO has been reopened.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>DISAPPROVED STEP</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A PO has had its workflow step disapproved and been sent back a step.</div><div><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>\n\n<h3 id=\"purchase-order-items\">Purchase Order Items</h3>\n<p>For PO Items, you may receive a webhook that looks like this:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{  \n   \"poItemID\": 8203,\n   \"status\": \"RECEIVED\",\n   \"category\": \"poItem\",\n   \"user\": \"bob@limblecmms.com\"\n}\n\n</code></pre><p>All possible statuses for PO Item webhooks are as follows:</p>\n<table><tbody><tr><th>Status</th><th>Description</th></tr><tr><td><div>CREATED</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A PO Item was created.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>DELETED</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A PO Item was deleted.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>RECEIVED</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Some quantity of a PO Item was marked as received.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGE GL</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A PO Item has been assigned a new GL or its GL has been removed.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGE DESCRIPTION</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A PO Item has had its description modified.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGE QUANTITY</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A PO Item has had its quantity modified.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGE RATE</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A PO Item has had its rate (price) modified.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGE TAX</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A PO Item has had its tax percentage modified.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGE DISCOUNT</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A PO Item has had its discount percentage modified.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGE SHIPPING</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A PO Item has had its shipping cost modified.</div><div><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>\n\n<h3 id=\"tasks\">Tasks</h3>\n<p>Below is an example payload you might be sent when an event occurs on a Task:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n   \"taskID\": 8203, // The unique identifier for the item the webhook event describes\n   \"status\": \"COMPLETE\", // The status (e.g. task created, task complete, etc.) -- see below for a full list of possible statuses.\n   \"category\": \"task\", // The category of item that triggered the webhook to fire (e.g. task, po, poItem).\n   \"user\": \"bob@limblecmms.com\" // The user whose action caused the webhook to fire.\n}\n\n</code></pre><p>Once the Payload is received you can use the Get Tasks API call to get the most recent Task data. The following is a list of all the possible statuses that a webhook might be set to:</p>\n<table><tbody><tr><th>Status</th><th>Description</th></tr><tr><td><div>CREATED</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A Task was created</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>DELETED</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A Task was deleted</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGED DUE DATE</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A Task changed due date</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGED ASSIGNMENT</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A Task changed assignment</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>COMPLETE</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A Task was completed.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGED COMPLETED TASK</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A Task that is completed was changed.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>COMPLETED TASK REOPENED</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A task that was completed was reopened and is now open.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGED TASK NAME</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A task has been renamed.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGED TASK DESCRIPTION</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The description of a task has been changed.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>ADDED COMMENT TO TASK</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A comment was added to a task.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CUSTOM TAG ADDED TO TASK</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A custom tag was added to a task.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CUSTOM TAG REMOVED FROM TASK</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A custom tag was removed from task.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>LOGGED TIME ON TASK</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A time entry was added to a task.</div><div><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>\n\n<h3 id=\"task-instruction\">Task Instruction</h3>\n<p>Below is an example payload you might be sent when an event occurs on an location field:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"instructionID\": 46490,\n  \"status\": \"Updated\",\n  \"category\": \"instruction\",\n  \"user\": \"bob@limblecmms.com\"\n}\n\n</code></pre><p>Once the Payload is received you can use the Get Instruction API call to get the task instruction data. The following is a list of all the possible statuses that a webhook might be set to:</p>\n<table><tbody><tr><th>Status</th><th>Description</th></tr><tr><td><div>CREATED</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A Task Instruction was added</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>DELETED</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A Task Instruction was deleted</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>UPDATED</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A Task Instruction was updated</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>LABEL UPDATED</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A Task Instruction's label was updated</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>DESCRIPTION UPDATED</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A Task Instruction's description was updated</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>PARENT RESPONSE UPDATED</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The response of a Task Instruction's parent item was updated</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>SORT ORDER UPDATED</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The sort order of a Task Instruction was updated.</div><div><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>\n\n<h2 id=\"securing-webhooks\">Securing Webhooks</h2>\n<p>To ensure the authenticity and integrity of webhook events each webhook is<br>signed with a signature as well as some other data described below:</p>\n<table><tbody><tr><th>Parameter</th><th>Type</th><th>Description</th></tr><tr><td><div>timestamp</div><div><div><div><div></div></div></div><div></div></div></td><td><div>int</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A standard unix time stamp</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>token</div><div><div><div><div></div></div></div><div></div></div></td><td><div>string</div><div><div><div><div></div></div></div><div></div></div></td><td><div><br>randomly generated string that is an integrity check of the<br>payload.<br></div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>signature</div><div><div><div><div></div></div></div><div></div></div></td><td><div>String</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A string generated by the HMAC algorithm</div><div><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>\n\n<p>To verify the webhook is originating from LimbleCMMS you will need to:</p>\n<ul>\n<li><p>Concatenate the timestamp and token</p>\n</li>\n<li><p>Encode your private API key (oldest Limble API Key) with the SHA256 algorithm</p>\n</li>\n<li><p>Encode the timestamp and token value with the HMAC algorithm using your hashed private key and the SHA256 method.</p>\n</li>\n<li><p>Compare the resulting digest to the signature provided in your webhook<br>  header</p>\n</li>\n</ul>\n<h2 id=\"validation-code-examples\">Validation Code Examples</h2>\n<p>Code samples to verify webhook data.</p>\n<h3>PHP</h3>\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>function verify($timestamp, $signature, $apiKey, $token)\n    //hash private key\n    $apiKey = hash('sha256', $apiKey);\n    $generated_signature = hash_hmac('sha256', $timestamp . $token, $apiKey);\n    if($generated_signature === $signature) {\n        return true;\n    } else {\n        return false;\n    }\n} \n\n</code></pre><h3>NodeJS</h3>\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>var crypto  = require('crypto');\nconst verify = (apiKey, token, timestamp, signature) =&gt; {\n    //hash private key\n    const apiKey = crypto.createHash('sha256').update(apiKey).digest('hex');\n    const value = timestamp+token;\n    const generated_signature = crypto.createHmac('sha256',apiKey).update(value).digest('hex');\n    if(signature === generated_signature){\n        return true;\n    } else {\n        return false;\n    }\n};\n\n</code></pre><hr>\n<h1 id=\"rate-limit\">Rate limit</h1>\n<p>To help protect against run-away scripts, clients who make an inordinate<br>number of calls over a period of time may be temporarily blocked from<br>accessing the service. The limits are defined in the table below. If you<br>receive an error indicating that you have exceeded the call limit, please<br>wait and try again later. If you need higher limits please reach out to your dedicated account manager.</p>\n<h2 id=\"per-hour\">Per Hour</h2>\n<table><tbody><tr><th>Method/Type of Request</th><th>Limit Per Hour</th><th>Limit Per Minute</th></tr><tr><td><div>GET</div><div><div><div><div></div></div></div><div></div></div></td><td><div>4000 calls per hour.</div><div><div><div><div></div></div></div><div></div></div></td><td><div>360 calls per minute.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>PATCH</div><div><div><div><div></div></div></div><div></div></div></td><td><div>2000 calls per hour.</div><div><div><div><div></div></div></div><div></div></div></td><td><div>240 calls per minute.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>POST</div><div><div><div><div></div></div></div><div></div></div></td><td><div>1000 calls per hour.</div><div><div><div><div></div></div></div><div></div></div></td><td><div>240 calls per minute.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>PUT</div><div><div><div><div></div></div></div><div></div></div></td><td><div>1000 calls per hour.</div><div><div><div><div></div></div></div><div></div></div></td><td><div>240 calls per minute.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>DELETE</div><div><div><div><div></div></div></div><div></div></div></td><td><div>100 calls per hour.</div><div><div><div><div></div></div></div><div></div></div></td><td><div>60 calls per minute.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>BATCH REQUEST</div><div><div><div><div></div></div></div><div></div></div></td><td><div>20 calls per hour</div><div><div><div><div></div></div></div><div></div></div></td><td><div>5 calls per minute</div><div><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>\n\n<p>Every API response is accompanied by the following set of headers to identify the status of your consumption. API calls are rate-limited on two windows of time: per-minute and per-hour. For example, if you made a request at 13:42:42, that request will expire from your per-minute window at 13:43:42 and from your per-hour window at 14:42:42.</p>\n<table><tbody><tr><th>Header</th><th>Description</th></tr><tr><td><div>X-RateLimit-Limit</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The maximum number of requests that the consumer is permitted to make per hour.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>X-RateLimit-Remaining</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The number of requests remaining in the current per-hour window.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>X-RateLimit-First-Call</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The time your first call was made in the current per-hour window.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>X-RateLimit-TTL</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The time until more request resources become available (This only displays when you've hit your limit).</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>X-RateLimit-Minute-Limit</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The maximum number of requests that the consumer is permitted to make per minute.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>X-RateLimit-Minute-Remaining</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The number of requests remaining in the current per-minute window.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>X-RateLimit-Minute-First-Call</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The time your first call was made in the current per-minute window.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>X-RateLimit-Minute-TTL</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The time until more request resources become available (This only displays when you've hit your limit).</div><div><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>\n\n<h1 id=\"pagination\">Pagination</h1>\n<p>Currently pagination using OrderBy and cursor is supported only by <strong>GET Tasks</strong> and <strong>GET Assets</strong>. Pagination using Limit and Page is supported by many other GET endpoints including <strong>GET Tasks</strong> and <strong>GET Assets</strong>.</p>\n<p>Pagination can be implemented by using the orderBy, cursor, limit and page query parameters.<br><strong>Note: cursor and page cannot be used simultaneously for pagination.</strong></p>\n<h2 id=\"pagination-using-limit-and-page\">Pagination using Limit and Page</h2>\n<p>This uses limit and page query parameters. For a given limit and page results will be paginated. If orderBy query parameter is given the results will be ordered and paginated accordingly.</p>\n<p>The page parameter is <strong>required</strong> and can be greater than or equal to 1 for this pagination method. The default limit is 100 but can be changed. The max limit is 1000.</p>\n<p>The response headers contain information about the Previous, Next and Last Page of the result based on the limit.</p>\n<p>The result will be empty when for a given limit, the given page does not exist. For example, if there are 100 Assets in total and limit is set at 10, only pages 1-10 are possible. An empty result will be given for page numbers greater than 10.</p>\n<p>This pagination method is supported by various GET endpoints. Please refer to the examples for those GET endpoints for more information.</p>\n<h2 id=\"pagination-using-orderby-and-cursor\">Pagination using OrderBy and Cursor</h2>\n<p><strong>Note</strong>: If you're implementing pagination for the first time for <strong>GET Tasks</strong> or <strong>GET Assets</strong> please follow <strong>Pagination Using Limit and Page</strong> as the use of <strong>Cursor</strong> will be deprecated in the next API version.</p>\n<p>This uses orderBy and cursor query parameters. Generally, in all of our GET endpoints, the cursor parameter ensures that the ID will be greater than the value of cursor. This makes sense when we're ordering the results ascending by ID.</p>\n<p>In GET Assets, when we're fetching a set of assets and ordering by lastEdited (ascending) or -lastEdited (descending), the cursor parameter will instead ensure that we're returning a set of results that begin at the next asset in the order, regardless of whether its <strong>ID is greater or less than the value of cursor</strong>.</p>\n<p>If the value of cursor does not match an existing assetID, then the result set will be empty, because there is no lastEdited value to compare to. <strong>When providing orderBy and cursor, the value of cursor must be a real assetID or the result set will be empty.</strong></p>\n<p>The same applies for GET Tasks when using cursor and ordering by createdDate, dateCompleted and due.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[{"content":"Getting Started!","slug":"getting-started"},{"content":"Authentication","slug":"authentication"},{"content":"Error Codes","slug":"error-codes"},{"content":"Success Codes","slug":"success-codes"},{"content":"Overriding HTTP methods","slug":"overriding-http-methods"},{"content":"Webhooks","slug":"webhooks"},{"content":"Rate limit","slug":"rate-limit"},{"content":"Pagination","slug":"pagination"}],"owner":"5190375","collectionId":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","publishedId":"SVfRsT5S","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"publishDate":"2023-07-19T13:07:08.000Z"},"item":[{"name":"Routes","item":[{"name":"Me","item":[{"name":"Me","id":"721aa326-51f5-457a-9560-f5313a1a6f96","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/me","description":"<p>Identifies the current customer. This route can be used to test that authentication to the Limble API was successful.</p>\n<p><b>Return data description</b></p>\n\n<table><tbody><tr><th>Property</th><th>Description</th></tr><tr><td><div>customerName</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The name of the customer that your API keys are valid for.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>customerPlan</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The Limble plan the customer is currently subscribed to. The customerPlan can have one of following values:<br /><br />starter<br />professional<br />business<br />enterprise<br />legacy - The plan the customer is currently subscribed to has been deprecated.<br /><br />For more information about various plans please visit the <a href=\"https://limblecmms.com/pricing/\">Limble</a> website.</div><div><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","me"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"721aa326-51f5-457a-9560-f5313a1a6f96"}],"id":"e2735252-3a03-4c47-a373-e65cd6d8c3ee","description":"<p>This endpoint can be used to test authentication to Limble's API.</p>\n","_postman_id":"e2735252-3a03-4c47-a373-e65cd6d8c3ee","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Assets","item":[{"name":"Image","item":[{"name":"Add Asset Main Image","event":[{"listen":"prerequest","script":{"id":"4f131dce-c4d2-4a84-bcf6-8e4b8142be36","exec":[""],"type":"text/javascript"}},{"listen":"test","script":{"id":"c62c2495-bc9c-4428-b2a5-5a06fa631ffa","exec":["pm.test(\"response is created\", () => {","    pm.response.to.have.status(200);","});",""],"type":"text/javascript"}}],"id":"e761dd91-7d02-4fba-a817-75e342780a09","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"formdata","formdata":[{"key":"image","type":"file","src":"/C:/Images/heic1509a.jpg"}]},"url":"https://localhost:3000/v2/assets/:assetID/image","description":"<p>Each asset can have one main image associated with it.  This request allows you to set that image.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","assets",":assetID","image"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"","key":"assetID"}]}},"response":[{"id":"629a605c-27e3-4824-a00a-0598b76bf543","name":"Add Asset Main Image","originalRequest":{"method":"PUT","header":[],"body":{"mode":"formdata","formdata":[{"key":"image","type":"file","src":"/C:/Users/jeffbabb/Pictures/heic1509a.jpg"}]},"url":{"raw":"https://localhost:3000/v2/assets/:assetID/image","protocol":"https","host":["localhost"],"port":"3000","path":["v2","assets",":assetID","image"],"variable":[{"key":"assetID","value":"{{assetID}}","description":"assetID of the asset you are adding the image to."}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 21:43:05 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"e761dd91-7d02-4fba-a817-75e342780a09"},{"name":"Delete Asset Main Image","event":[{"listen":"prerequest","script":{"id":"4f131dce-c4d2-4a84-bcf6-8e4b8142be36","exec":[""],"type":"text/javascript"}},{"listen":"test","script":{"id":"c62c2495-bc9c-4428-b2a5-5a06fa631ffa","exec":["pm.test(\"response is created\", () => {","    pm.response.to.have.status(200);","});",""],"type":"text/javascript"}}],"id":"ef5507e8-6ded-4120-98b5-fb38acbb67b4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Content-Type","name":"Content-Type","value":"application/x-www-form-urlencoded","type":"text"}],"url":"https://localhost:3000/v2/assets/:assetID/image","description":"<p>This request removes the main image from the asset.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","assets",":assetID","image"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>assetID of the asset you are removing the main image from.</p>\n","type":"text/plain"},"type":"any","value":"{{assetID}}","key":"assetID"}]}},"response":[{"id":"4966267a-8b5e-491d-9f97-146eeb6c0d0c","name":"Delete Asset Main Image","originalRequest":{"method":"DELETE","header":[{"key":"Content-Type","name":"Content-Type","value":"application/x-www-form-urlencoded","type":"text"}],"body":{"mode":"formdata","formdata":[{"key":"image","type":"file","value":null,"disabled":true}]},"url":{"raw":"https://localhost:3000/v2/assets/:assetID/image","protocol":"https","host":["localhost"],"port":"3000","path":["v2","assets",":assetID","image"],"variable":[{"key":"assetID","value":"{{assetID}}","description":"assetID of the asset you are removing the main image from."}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 21:43:15 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"ef5507e8-6ded-4120-98b5-fb38acbb67b4"}],"id":"277490ce-ba8c-436d-9a55-50e7bb97170f","event":[{"listen":"prerequest","script":{"id":"1aeba950-888e-4c21-b829-a87b5b8d657f","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"70847822-cd78-4c85-8209-ed6a0edfe660","type":"text/javascript","exec":[""]}}],"_postman_id":"277490ce-ba8c-436d-9a55-50e7bb97170f","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Fields","item":[{"name":"Asset Fields","event":[{"listen":"test","script":{"id":"e78cf112-9342-4044-95c8-d1e7bdac989d","exec":["pm.test('gets asset fields', () => {","   const data = pm.response.json();","});",""],"type":"text/javascript","packages":{}}}],"id":"74818869-d6e2-4038-863a-64a7e8b2c413","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/assets/fields/?assets=171","description":"<p>This request gets detailed information about asset fields such as Make, Model and any other custom field.</p>\n<p>This call also returns \"files\" which is an array of objects that have a file name and a link you can use to download that file. All links are only valid for 15 minutes, a new call will generate a new link.</p>\n<p><strong>Note:</strong> this endpoint supports pagination. Please refer to the <a href=\"#pagination\"><strong>Pagination</strong></a> section for more information.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","assets","fields",""],"host":["localhost"],"query":[{"disabled":true,"description":{"content":"<p>This parameter is used to only get specific field by name. This parameter expects a string full name of a field or partial name with the wildcard %.</p>\n","type":"text/plain"},"key":"name","value":"Model"},{"disabled":true,"description":{"content":"<p>This parameter can be used to get a single Asset Fields or a list of Asset Fields in a comma-separated list.</p>\n","type":"text/plain"},"key":"fields","value":"107"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get Asset Fields for Assets that were last edited after the unix timestamp passed into the start parameter. For example, all Assets that were last edited after April 18th, 2018.</p>\n","type":"text/plain"},"key":"start","value":"1555105636"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get Asset Fields for Assets that were last edited <em>before</em> the unix timestamp passed into the end parameter.</p>\n","type":"text/plain"},"key":"end","value":"1555105636"},{"disabled":true,"description":{"content":"<p>This parameter is a cursor that selects what id you want to start receiving results at. e.g. passing 137 here will only get you asset fields with an id greater than 137.</p>\n","type":"text/plain"},"key":"cursor","value":"0"},{"disabled":true,"description":{"content":"<p>This parameter is a result limiter. The default is set to return no more than 100 results at one time.</p>\n","type":"text/plain"},"key":"limit","value":"1"},{"disabled":true,"description":{"content":"<p>This parameter can be used to get a group of asset fields in a location in a comma-separated list.</p>\n","type":"text/plain"},"key":"locations","value":"163"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get specific field by value. This parameter expects a string full name of a field or partial name with the wildcard %.</p>\n","type":"text/plain"},"key":"value","value":"F250"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get specific fields by asset name. This parameter expects a string full name of a field or partial name with the wildcard %.</p>\n","type":"text/plain"},"key":"assetName","value":"%fork%"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get specific fields by type. This parameter expects an array of strings \"Text, Date, Pictures, Documents, Number, Currency, Dropdown\"</p>\n","type":"text/plain"},"key":"fieldType[0]","value":"Text"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get specific fields by type. This parameter expects an array of strings \"Text, Date, Pictures, Documents, Number, Currency, Dropdown\"</p>\n","type":"text/plain"},"key":"fieldType[1]","value":"Documents"},{"disabled":true,"description":{"content":"<p>This parameter is used to paginate results based on the limit. Refer to Pagination section for more information.</p>\n","type":"text/plain"},"key":"page","value":"1"},{"disabled":true,"description":{"content":"<p>This parameter is used to get asset fields by their valueID. This parameter expects a comma delimited list of Value IDs.</p>\n","type":"text/plain"},"key":"values","value":""},{"description":{"content":"<p>This parameter can be used to get a group of asset fields for a specific set of asset ids in a comma-separated list.</p>\n","type":"text/plain"},"key":"assets","value":"171"}],"variable":[]}},"response":[{"id":"ea83480a-15eb-4680-a996-d9f9fb721741","name":"Asset Fields","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/assets/fields/?page=1","protocol":"https","host":["localhost"],"port":"3000","path":["v2","assets","fields",""],"query":[{"key":"assets","value":"1022","description":"This parameter can be used to get a single Asset or a list of Assets in a comma-separated list.","disabled":true},{"key":"name","value":"Model","description":"This parameter is used to only get specific field by name. This parameter expects a string full name of a field or partial name with the wildcard %.","disabled":true},{"key":"fields","value":"302","description":"This parameter can be used to get a single Asset Fields or a list of Asset Fields in a comma-separated list.","disabled":true},{"key":"start","value":"1555105636","description":"This parameter is used to only get Asset Fields for Assets that were last edited after the unix timestamp passed into the start parameter. For example, all Assets that were last edited after April 18th, 2018.","disabled":true},{"key":"end","value":"1555105636","description":"This parameter is used to only get Asset Fields for Assets that were last edited *before* the unix timestamp passed into the end parameter.","disabled":true},{"key":"cursor","value":"0","description":"This parameter is a cursor that selects what id you want to start receiving results at. e.g. passing 137 here will only get you asset fields with an id greater than 137.","disabled":true},{"key":"limit","value":"100","description":"This parameter is a result limiter. The default is set to return no more than 100 results at one time.","disabled":true},{"key":"locations","value":"163","description":"This parameter can be used to get a group of asset fields in a location in a comma-separated list.","disabled":true},{"key":"value","value":"F250","description":"This parameter is used to only get specific field by value. This parameter expects a string full name of a field or partial name with the wildcard %.","disabled":true},{"key":"assetName","value":"%fork%","description":"This parameter is used to only get specific fields by asset name. This parameter expects a string full name of a field or partial name with the wildcard %.","disabled":true},{"key":"page","value":"1","description":"This parameter is used to paginate results based on the limit. Refer to Pagination section for more information."}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"5192","enabled":true},{"key":"ETag","value":"W/\"1448-H9f1oLWBpxNHreL1C7JuPS4S72g\"","enabled":true},{"key":"Date","value":"Tue, 29 Oct 2019 17:53:25 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"fieldID\": 27,\n        \"assetID\": 1022,\n        \"locationID\": 163,\n        \"field\": \"Manual\",\n        \"value\": null,\n        \"valueID\": 45346,\n        \"fieldType\": \"Documents\",\n        \"lastEdited\": 1572028803,\n        \"locked\": false,\n        \"files\": [\n            {\n                \"fileName\": \"guide.pdf\",\n                \"link\": \"https://content.limblecmms.com/upload-36/assets/163/1022/45346/guide.pdf?Expires=1572372505&Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9jb250ZW50LmxpbWJsZWNtbXMuY29tL3VwbG9hZC0zNi9hc3NldHMvMTYzLzEwMjIvNDUzNDYvMS5wZGYiLCJDb25kaXRpb24iOnsiRGF0ZUxlc3NUaGFuIjp7IkFXUzpFcG9jaFRpbWUiOjE1NzIzNzI1MDV9fX1dfQ__&Signature=BqvWWjq-bk03MJ1~GxAHIRh0J1qK6NkiD~GcE9R1awh8xhrVUhOgvrZapSjMCe8dqKOsri7qYc~CytaQgD-NmqmWK4du4khv-hU~LmXQ-nDFnbUCs4SHo0QOtHieFX7x0Hs6DkioLdPHlvZsgb7bXyHXJMyMwhQThfAXR6WjfIjDpggsdEnUeyeEMI9tg1SLZOnCI64oWze56EGDNk1VQ6s0RcwPCjAsYebRjkr9crktS9x0Xt7WySL0UZeWUK-gbte3tjC52xDUvOeLsXw19JvA4Dx9GCWRTQu1R4kRMh4Phy7iR62kZTaJGP-Hb8OimGs95DUF-cniGOsMgQrXmQ__&Key-Pair-Id=APKAIH5A42E3EPKJRHFQ\"\n            },\n            {\n                \"fileName\": \"parts-guide.pdf\",\n                \"link\": \"https://content.limblecmms.com/upload-36/assets/163/1022/45346/parts-guide.pdf?Expires=1572372505&Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9jb250ZW50LmxpbWJsZWNtbXMuY29tL3VwbG9hZC0zNi9hc3NldHMvMTYzLzEwMjIvNDUzNDYvMS0xLnBkZiIsIkNvbmRpdGlvbiI6eyJEYXRlTGVzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6MTU3MjM3MjUwNX19fV19&Signature=sMg0S7HCdz8KeMVvXQW~KsZWGGolD5K4QFhKD2jcn90QIL5xqhKDTwZbyUdYWWr7aJLleMXBAW3iBxIxfp58bBcbfqDPQsWlseO~zRFIoORGHgozwvZ9V8gA0-UvlYFLVX1dLiZIzxRh3UXqXEU1uNRLehSGcJbaWc6TTvfCGuRrg4b8FUE8MVyyQBMtFBZ4aI82ggwkQWVu3~P2Vjltd5QNmArd2XJdrx2FtPxrhpupdoQdW0fd4dpwADjGzUQzlAmVA~1rzzWERDzIC29wQaT4GuOJIJ3cePQZHjw9KCxetYcsu4W-38BXmAybmMmLDvmOk61PDVaDhCcLkA4ycw__&Key-Pair-Id=APKAIH5A42E3EPKJRHFQ\"\n            },\n            {\n                \"fileName\": \"2018-ELANTRA-AD-OM.pdf\",\n                \"link\": \"https://content.limblecmms.com/upload-36/assets/163/1022/45346/2018-ELANTRA-AD-OM.pdf?Expires=1572372505&Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9jb250ZW50LmxpbWJsZWNtbXMuY29tL3VwbG9hZC0zNi9hc3NldHMvMTYzLzEwMjIvNDUzNDYvMjAxOC1FTEFOVFJBLUFELU9NLnBkZiIsIkNvbmRpdGlvbiI6eyJEYXRlTGVzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6MTU3MjM3MjUwNX19fV19&Signature=jClvv7jCkK5hB~2DEp9GYe7xpo2SPkDo2XFNsrBHMX3f8vynCPtN~zi0HELdE5XdSnhtNRO4dgMzy9n0nB~uBzR-8lvSxKflAG9Hk~5ch9lW8uO1LosfG8ixt9qyKTLI5gcMkXBLH42l~M094fGyjUEDROZ2f7aiFTyGK-kX4KLvGctFdbAL-AsiIAQusrE1AbUTFkEmlQlJVn4S8sUcQNYUDMY1uXhoW6g3fN7RO5vdC8t-WKkLHauJLy5hBeAWvbpmG0G1-5KGvB3n3LRCJHIN~cNDs1vWyZo0BH-fUauai3T2fRPd8rsspW2cagtnqeanHg78pffQARGaEoMneA__&Key-Pair-Id=APKAIH5A42E3EPKJRHFQ\"\n            }\n        ]\n    },\n    {\n        \"fieldID\": 37,\n        \"assetID\": 1022,\n        \"locationID\": 163,\n        \"field\": \"Gallons\",\n        \"value\": \"1570809953\",\n        \"valueID\": 45377,\n        \"fieldType\": \"Number\",\n        \"lastEdited\": 1572028803,\n        \"assetLastEdited\": 1234567890,\n        \"locked\": true,\n        \"files\": []\n    }\n]"},{"id":"82bec6ed-c456-4ee9-a727-5d0aeccb1c5b","name":"Asset Fields","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/assets/fields/?limit=100&page=4&assets=16516,16515","protocol":"https","host":["localhost"],"port":"3000","path":["v2","assets","fields",""],"query":[{"key":"name","value":"Model","description":"This parameter is used to only get specific field by name. This parameter expects a string full name of a field or partial name with the wildcard %.","disabled":true},{"key":"fields","value":"107","description":"This parameter can be used to get a single Asset Fields or a list of Asset Fields in a comma-separated list.","disabled":true},{"key":"start","value":"1555105636","description":"This parameter is used to only get Asset Fields for Assets that were last edited after the unix timestamp passed into the start parameter. For example, all Assets that were last edited after April 18th, 2018.","disabled":true},{"key":"end","value":"1555105636","description":"This parameter is used to only get Asset Fields for Assets that were last edited *before* the unix timestamp passed into the end parameter.","disabled":true},{"key":"cursor","value":"0","description":"This parameter is a cursor that selects what id you want to start receiving results at. e.g. passing 137 here will only get you asset fields with an id greater than 137.","disabled":true},{"key":"limit","value":"1","description":"This parameter is a result limiter. The default is set to return no more than 100 results at one time.","disabled":true},{"key":"locations","value":"163","description":"This parameter can be used to get a group of asset fields in a location in a comma-separated list.","disabled":true},{"key":"value","value":"F250","description":"This parameter is used to only get specific field by value. This parameter expects a string full name of a field or partial name with the wildcard %.","disabled":true},{"key":"assetName","value":"%fork%","description":"This parameter is used to only get specific fields by asset name. This parameter expects a string full name of a field or partial name with the wildcard %.","disabled":true},{"key":"fieldType[0]","value":"Text","description":"This parameter is used to only get specific fields by type. This parameter expects an array of strings \"Text, Date, Pictures, Documents, Number, Currency, Dropdown\"","disabled":true},{"key":"fieldType[1]","value":"Documents","description":"This parameter is used to only get specific fields by type. This parameter expects an array of strings \"Text, Date, Pictures, Documents, Number, Currency, Dropdown\"","disabled":true},{"key":"page","value":"1","description":"This parameter is used to paginate results based on the limit. Refer to Pagination section for more information.","disabled":true},{"key":"values","value":null,"description":"This parameter is used to get asset fields by their valueID. This parameter expects a comma delimited list of Value IDs.","disabled":true},{"key":"limit","value":"100"},{"key":"page","value":"4"},{"key":"assets","value":"16516,16515","description":"This parameter can be used to get a group of asset fields for a specific set of asset ids in a comma-separated list."}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":""}],"cookie":[],"responseTime":null,"body":""}],"_postman_id":"74818869-d6e2-4038-863a-64a7e8b2c413"},{"name":"Asset Suggested Fields","event":[{"listen":"test","script":{"id":"e78cf112-9342-4044-95c8-d1e7bdac989d","exec":["// example using pm.response.to.be*\r","pm.test(\"response must be valid and have a body\", function () {\r","     // assert that the status code is 200\r","     pm.response.to.be.ok; // info, success, redirection, clientError,  serverError, are other variants\r","     // assert that the response has a valid JSON body\r","     pm.response.to.be.withBody;\r","     pm.response.to.be.json; // this assertion also checks if a body  exists, so the above check is not needed\r","});"],"type":"text/javascript","packages":{}}}],"id":"8572f958-ea58-4644-9687-a38d69807acf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/assets/fields/suggested","description":"<p>This request gets all possible fields an Asset can pick from when deciding which fields it should have.  </p>\n<p>To understand this concept, let's pretend you have the following assets:  </p>\n<p>Your first Asset (a Truck) has the fields Make, Model, and VIN.  </p>\n<p>Your second Asset (a HVAC) has the fields Make, Model, and Serial Number.  </p>\n<p>This would mean there are 4 suggested fields that exist:  Make, Model, VIN and Serial Number.  If I added a third new asset I could pick from any of the 4 suggested fields.</p>\n<p>Suggested fields are the full list of possible fields that can be added to assets at that location.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","assets","fields","suggested"],"host":["localhost"],"query":[{"disabled":true,"description":{"content":"<p>This parameter can be used to get a single Asset Fields or a list of Asset Fields in a comma-separated list.</p>\n","type":"text/plain"},"key":"fields","value":"16"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get specific field by name. This parameter expects a string full name of a field or partial name with the wildcard %.</p>\n","type":"text/plain"},"key":"name","value":"%S%"},{"disabled":true,"description":{"content":"<p>This parameter is a cursor that selects what id you want to start receiving results at. e.g. passing 137 here will only get you asset fields with an id greater than 137.</p>\n","type":"text/plain"},"key":"cursor","value":"0"},{"disabled":true,"description":{"content":"<p>This parameter is a result limiter. The default is set to return no more than 100 results at one time.</p>\n","type":"text/plain"},"key":"limit","value":"100"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get fields at a specific group of Locations. This parameter accepts a comma delimited list of Location IDs.</p>\n","type":"text/plain"},"key":"locations","value":"163"}],"variable":[]}},"response":[{"id":"c2e686f3-84d3-4179-a095-a2bcd98c8217","name":"Asset Suggested Fields","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/assets/fields/suggested?fields=16&name=%S%&locations=163","protocol":"https","host":["localhost"],"port":"3000","path":["v2","assets","fields","suggested"],"query":[{"key":"fields","value":"16","description":"This parameter can be used to get a single Asset Fields or a list of Asset Fields in a comma-separated list."},{"key":"name","value":"%S%","description":"This parameter is used to only get specific field by name. This parameter expects a string full name of a field or partial name with the wildcard %."},{"key":"cursor","value":"0","description":"This parameter is a cursor that selects what id you want to start receiving results at. e.g. passing 137 here will only get you asset fields with an id greater than 137.","disabled":true},{"key":"limit","value":"100","description":"This parameter is a result limiter. The default is set to return no more than 100 results at one time.","disabled":true},{"key":"locations","value":"163","description":"This parameter is used to only get fields at a specific group of Locations. This parameter accepts a comma delimited list of Location IDs."}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"77","enabled":true},{"key":"ETag","value":"W/\"4d-iEXDK/guUGz4sBgwhAGeZFHif1o\"","enabled":true},{"key":"Date","value":"Thu, 26 May 2022 19:42:19 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"fieldID\": 16,\n        \"fieldType\": \"Text\",\n        \"fieldName\": \"Serial No.\",\n        \"locationID\": 163\n    }\n]"}],"_postman_id":"8572f958-ea58-4644-9687-a38d69807acf"},{"name":"Asset Field History","event":[{"listen":"test","script":{"id":"e1c69e89-20cf-45b9-8b54-878e8ae5561f","exec":["pm.test(\"response is created\", () => {","    pm.response.to.have.status(200);","});"],"type":"text/javascript","packages":{}}}],"id":"13fe5f4b-3705-42df-a609-294b326189b6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/assets/fields/history","description":"<p>Any time an Asset's field is changed an entry is inserted into a history.  </p>\n<p>This request allows you to pull that information so you can see trends over time.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","assets","fields","history"],"host":["localhost"],"query":[{"disabled":true,"description":{"content":"<p>This parameter can be used to get a single Asset or a list of Assets in a comma-separated list.</p>\n","type":"text/plain"},"key":"assets","value":"4864, 4865"},{"disabled":true,"description":{"content":"<p>This parameter can be used to get a single Asset Fields or a list of Asset Fields in a comma-separated list.</p>\n","type":"text/plain"},"key":"fields","value":"321, 202"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get Asset Fields for Assets that were last edited after the unix timestamp passed into the start parameter. For example, all Assets that were last edited after April 18th, 2018.</p>\n","type":"text/plain"},"key":"start","value":"1555105636"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get Asset Fields for Assets that were last edited <em>before</em> the unix timestamp passed into the end parameter.</p>\n","type":"text/plain"},"key":"end","value":"1555105636"},{"disabled":true,"description":{"content":"<p>This parameter is a cursor that selects what id you want to start receiving results at. e.g. passing 137 here will only get you asset fields with an id greater than 137.</p>\n","type":"text/plain"},"key":"limit","value":"100"},{"disabled":true,"description":{"content":"<p>This parameter is a result limiter. The default is set to return no more than 100 results at one time.</p>\n","type":"text/plain"},"key":"cursor","value":"0"}],"variable":[]}},"response":[{"id":"f6e020d1-e0b1-466d-95e0-dcaaa63fe522","name":"Asset Field History","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/assets/fields/history","protocol":"https","host":["localhost"],"port":"3000","path":["v2","assets","fields","history"],"query":[{"key":"assets","value":"4864, 4865","disabled":true},{"key":"fields","value":"321, 202","disabled":true},{"key":"start","value":"1555105636","type":"text","disabled":true},{"key":"end","value":"1555105636","type":"text","disabled":true},{"key":"limit","value":"100","disabled":true},{"key":"cursor","value":"0","type":"text","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"9610","enabled":true},{"key":"ETag","value":"W/\"258a-UFYSLrEgC3xslReFDEkCJkHYDYE\"","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 18:54:02 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"fieldID\": 323,\n        \"field\": \"Custom Field 4\",\n        \"value\": \"23\",\n        \"valueID\": 24683,\n        \"dateUpdated\": \"1528597316\"\n    }\n]"}],"_postman_id":"13fe5f4b-3705-42df-a609-294b326189b6"},{"name":"New Asset Suggested Field","event":[{"listen":"prerequest","script":{"id":"4f131dce-c4d2-4a84-bcf6-8e4b8142be36","exec":["pm.globals.set('locationID', 73);","var fieldName = () => `new asset field - ${Math.floor(Math.random() * 10000000)}`;","pm.globals.set('newAssetFieldName', fieldName());",""],"type":"text/javascript"}},{"listen":"test","script":{"id":"c62c2495-bc9c-4428-b2a5-5a06fa631ffa","exec":["const assetFieldID = pm.response.json().fieldID;","","pm.test(\"response is created\", () => {","    pm.response.to.have.status(201);","});","","pm.test(\"location header is valid\", () => {","    const locationHeader = postman.getResponseHeader('Location')","    pm.expect(locationHeader).to.eql(`/v2/assets/fields/?fields=${assetFieldID}`);","})","","pm.globals.set('assetFieldID', assetFieldID);",""],"type":"text/javascript"}}],"id":"8b6d4fe3-f174-4ff0-8d83-eb1dbc265941","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"locationID\": {{locationID}},\n\t\"name\": \"{{newAssetFieldName}}\",\n\t\"fieldType\": 1\n}\n"},"url":"https://localhost:3000/v2/assets/fields/","description":"<p>This request creates a new Suggested Field.</p>\n<p>Suggested Fields are the full list of possible Fields that can be added to Assets at that Location.</p>\n<table>\n    <thead>\n        <tr>\n            <th>Parameter</th>\n            <th>Type</th>\n            <th>Required?</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>locationID</td>\n            <td>Int</td>\n            <td>Required</td>\n            <td>The location ID of the Asset to add the new Field to.</td>\n        </tr>\n        <tr>\n            <td>name</td>\n            <td>String</td>\n            <td>Required</td>\n            <td>The name of the new Field. <b>Some custom field names such as \"Asset\" are not allowed and reserved for internal use. This will result in a 409 error.</b></td>\n        </tr>\n        <tr>\n            <td>fieldType</td>\n            <td>Int</td>\n            <td>Required</td>\n            <td>The type of the new Field. You can choose from Text (1), Date (2), Pictures (3), Documents (4), Number (5),\n                Currency (6).</td>\n        </tr>\n    </tbody>\n</table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","assets","fields",""],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"f2986f5e-f7e6-46ce-9eb7-dcc4d7cdad27","name":"New Asset Suggested Field","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"locationID\": {{locationID}},\n\t\"name\": \"{{newAssetFieldName}}\",\n\t\"fieldType\": 1\n}\n"},"url":"https://localhost:3000/v2/assets/fields/"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Location","value":"/v2/assets/fields/?fields=643","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"17","enabled":true},{"key":"ETag","value":"W/\"11-sAlPGUgGiSnyR/CioC0jxnH25+U\"","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 21:41:07 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"fieldID\": \"643\"\n}"}],"_postman_id":"8b6d4fe3-f174-4ff0-8d83-eb1dbc265941"},{"name":"Update Asset Field Value","event":[{"listen":"test","script":{"id":"4a91e0c8-3b8a-423b-8ea0-b546128d1a69","exec":["pm.test(\"response is created\", () => {","    pm.response.to.have.status(200);","});",""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"3db07580-944d-4f04-ac28-1efc110ec4cd","exec":["pm.globals.set('updatedAssetFieldValue', Math.floor(Math.random() * 10000000));"],"type":"text/javascript"}}],"id":"8d2bb387-bf81-4452-917a-511826e342a3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"value\": \"test\"\n}"},"url":"https://localhost:3000/v2/assets/fields/:valueID/","description":"<p>This request updates the value of a Field that is attached to an Asset.  </p>\n<table>\n    <thead>\n        <tr>\n            <th>Parameter</th>\n            <th>Type</th>\n            <th>Required?</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>value</td>\n            <td>Varies depending on the Field's type</td>\n            <td>Required</td>\n            <td>The value that will be written to the field, overwriting the previous value and creating an entry in the field history.  \"value\" must correspond to the fieldType of the field. For example, if the field is a \"number\" fieldType, then \"value\" must be a number.\n            </td>\n        </tr>\n    </tbody>\n</table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","assets","fields",":valueID",""],"host":["localhost"],"query":[{"disabled":true,"key":"","value":""}],"variable":[{"type":"any","value":"1420","key":"valueID"}]}},"response":[{"id":"f4f0469d-7d41-4e45-a686-2bcac04dff95","name":"Update Asset Field Value","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"value\": \"{{updatedAssetFieldValue}}\"\n}"},"url":{"raw":"https://localhost:3000/v2/assets/fields/:valueID/","protocol":"https","host":["localhost"],"port":"3000","path":["v2","assets","fields",":valueID",""],"query":[{"key":"","type":"text","value":"","disabled":true}],"variable":[{"key":"valueID","value":"21122"}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 21:41:55 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"8d2bb387-bf81-4452-917a-511826e342a3"},{"name":"Attach Field to Asset","event":[{"listen":"test","script":{"id":"55c168ce-27f4-48e5-a09d-e46600793038","exec":["pm.test(\"response is created\", () => {","    pm.response.to.have.status(200);","});","","pm.globals.set('fieldValueID', pm.response.json().valueID);",""],"type":"text/javascript"}}],"id":"88f6a237-757c-432c-815a-a59daeaef8cd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"text/html","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"locationID\": {{locationID}},\n\t\"fieldID\": {{assetFieldID}}\n}"},"url":"https://localhost:3000/v2/assets/:assetID/fields","description":"<p>This request attaches a Suggested Field to an Asset. The field and asset must belong to the same location.</p>\n<p>For example, let's say I have an Asset called Truck - 001.  This Truck doesn't have any Fields attached to it, but I want to track its Make so I can set that this Truck is a Dodge.  This is the request I would use to attach the Make Field to the Truck and then I would use the Update Asset Field Value request to set it to Dodge.</p>\n<table>\n    <thead>\n        <tr>\n            <th>Parameter</th>\n            <th>Type</th>\n            <th>Required?</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>locationID</td>\n            <td>Int</td>\n            <td>Required</td>\n            <td>The ID of the Location the Asset exists at.</td>\n        </tr>\n        <tr>\n            <td>fieldID</td>\n            <td>Int</td>\n            <td>Required</td>\n            <td>The ID of the existing Field to add to the Asset.</td>\n        </tr>\n    </tbody>\n</table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","assets",":assetID","fields"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"{{assetID}}","key":"assetID"}]}},"response":[{"id":"41331be1-dc05-4eb4-a0bc-d6bb3ce8567f","name":"Attach Field to Asset","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"text/html","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"locationID\": {{locationID}},\n\t\"fieldID\": {{assetFieldID}}\n}"},"url":{"raw":"https://localhost:3000/v2/assets/:assetID/fields","protocol":"https","host":["localhost"],"port":"3000","path":["v2","assets",":assetID","fields"],"variable":[{"key":"assetID","value":"1"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"19","enabled":true},{"key":"ETag","value":"W/\"13-r6o9wuLyhmtY4qJrjbT2ylaBqEc\"","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 21:42:22 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"valueID\": \"45350\"\n}"}],"_postman_id":"88f6a237-757c-432c-815a-a59daeaef8cd"},{"name":"Delete Asset Field","id":"fce1a864-e8ce-4190-a585-1a5fd987a7e8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://localhost:3000/v2/assets/fields/:valueID","description":"<p>This request deletes a field attached to an Asset.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","assets","fields",":valueID"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>valueID of the field you are removing.</p>\n","type":"text/plain"},"type":"any","value":"45612","key":"valueID"}]}},"response":[{"id":"10a3d3ed-9786-4eda-a7b6-9010529aea71","name":"Delete Asset Field","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://localhost:3000/v2/assets/fields/:valueID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","assets","fields",":valueID"],"variable":[{"key":"valueID","value":"45612","description":"valueID of the field you are removing."}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Thu, 08 Jul 2021 21:12:40 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"fce1a864-e8ce-4190-a585-1a5fd987a7e8"}],"id":"71401495-60cd-4f2d-a71a-1af363c3f1a7","description":"<p>Asset fields are a way to add custom information onto your assets.  For example you may want to fields such as Make, Model, Meter Readings, Manuals, Pictures, Contracts etc.</p>\n","_postman_id":"71401495-60cd-4f2d-a71a-1af363c3f1a7","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Logs","item":[{"name":"Files","item":[{"name":"Delete Asset Log File","id":"947e5474-9aa5-489f-90ea-9bb14e1d11e4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://localhost:3000/v2/assets/logs/file/:fileID","description":"<p>This requests deletes a file attached to a log.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","assets","logs","file",":fileID"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>The ID of the file to be deleted.</p>\n","type":"text/plain"},"type":"any","value":"58","key":"fileID"}]}},"response":[{"id":"9b30c784-c1a8-4d9a-89b0-83f2abb672db","name":"Delete Asset Log File","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://localhost:3000/v2/assets/logs/file/:fileID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","assets","logs","file",":fileID"],"variable":[{"key":"fileID","value":"58","description":"The ID of the file to be deleted."}]}},"_postman_previewlanguage":"Text","header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"947e5474-9aa5-489f-90ea-9bb14e1d11e4"},{"name":"Add Asset Log File","id":"958d2306-ac3c-4766-a40a-c272ef808757","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"formdata","formdata":[{"key":"file","type":"file","src":"/C:/Users/Hely Mehta/Downloads/lorem-ipsum.pdf"}]},"url":"https://localhost:3000/v2/assets/:assetID/logs/:logID/file","description":"<p>This request adds files to a log.</p>\n<p><b>Return data description</b></p>\n\n<table><tbody><tr><th>Property</th><th>Description</th></tr><tr><td>fileID</td><td>The ID of the file attached to the log.</td></tr></tbody></table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","assets",":assetID","logs",":logID","file"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>The ID of the asset the log belongs to.</p>\n","type":"text/plain"},"type":"any","value":"1","key":"assetID"},{"description":{"content":"<p>The ID of the log to attach the file to.</p>\n","type":"text/plain"},"type":"any","value":"7257","key":"logID"}]}},"response":[{"id":"abfa6239-a4c6-41cd-a3b7-5fc31c297722","name":"Add Asset Log File","originalRequest":{"method":"PUT","header":[],"body":{"mode":"formdata","formdata":[{"key":"file","type":"file","src":"/C:/Users/Hely Mehta/Downloads/lorem-ipsum.pdf"}]},"url":{"raw":"https://localhost:3000/v2/assets/:assetID/logs/:logID/file","protocol":"https","host":["localhost"],"port":"3000","path":["v2","assets",":assetID","logs",":logID","file"],"variable":[{"key":"assetID","value":"1","description":"The ID of the asset the log belongs to."},{"key":"logID","value":"7257","description":"The ID of the log to attach the file to."}]}},"_postman_previewlanguage":"Text","header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"958d2306-ac3c-4766-a40a-c272ef808757"}],"id":"667e5c61-a378-4e34-bddd-17a1bf94e53d","_postman_id":"667e5c61-a378-4e34-bddd-17a1bf94e53d","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Asset Logs","id":"0bc76c00-7948-41e1-b558-1666f91b2592","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/assets/:assetID/logs","description":"<p>This request returns logs created manually by users and automatically created (where userID=0) by certain actions taken on the asset. Logs related to tasks completed on an Asset will not be returned.</p>\n<p><strong>Note:</strong> this endpoint supports pagination. Please refer to the <a href=\"#pagination\"><strong>Pagination</strong></a> section for more information.</p>\n<p><b>Return data description</b></p>\n\n<table><tbody><tr><th>Property</th><th>Description</th></tr><tr><td>logID</td><td>The unique logID of the log.</td></tr><tr><td>dateCreated</td><td>The date the log was created as a UNIX timestamp.</td></tr><tr><td>assetD</td><td>The ID of the asset the log belongs to.</td></tr><tr><td>logEntry</td><td>The log entry for the asset.</td></tr><tr><td>userID</td><td>The ID of the user that created the log.</td></tr><tr><td>logFiles</td><td>An array of objects that have a fileID, fileName and a link that can used to download the files attached to the log. All links are only valid for 15 minutes, a new call will generate a new link.</td></tr></tbody></table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","assets",":assetID","logs"],"host":["localhost"],"query":[{"disabled":true,"description":{"content":"<p>This parameter is used to only get specific logs. This parameter accepts a comma delimited list of logIDs.</p>\n","type":"text/plain"},"key":"logs","value":"16"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get logs created by specific users. This parameter accepts a comma delimited list of userIDs.</p>\n","type":"text/plain"},"key":"users","value":"341"},{"disabled":true,"description":{"content":"<p>This is a parameter used to string search for manual log entry. This parameter expects a string with the wildcard %.</p>\n","type":"text/plain"},"key":"logEntry","value":"%bro%"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get logs that were last edited after the unix timestamp passed into the start parameter. </p>\n","type":"text/plain"},"key":"start","value":"1506274400"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get logs that were last edited before the unix timestamp passed into the end parameter.</p>\n","type":"text/plain"},"key":"end","value":"1506274900"},{"disabled":true,"description":{"content":"<p>This parameter is used to paginate results based on the limit. Refer to Pagination section for more information.</p>\n","type":"text/plain"},"key":"page","value":"1"},{"disabled":true,"description":{"content":"<p>This parameter is a result limiter. The default is set to return no more than 100 results at one time.</p>\n","type":"text/plain"},"key":"limit","value":""},{"disabled":true,"description":{"content":"<p>This parameter is a cursor that selects what ID you want to start receiving results at. </p>\n","type":"text/plain"},"key":"cursor","value":""}],"variable":[{"description":{"content":"<p>The ID of the asset you need to the logs for.</p>\n","type":"text/plain"},"type":"any","value":"1","key":"assetID"}]}},"response":[{"id":"b3c56e21-cd84-42fa-8f9d-bdb82c4a3562","name":"Asset Logs","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/assets/:assetID/logs?logs=16&users=341&logEntry=%bro%&start=1506274400&end=1506274900&page=1","protocol":"https","host":["localhost"],"port":"3000","path":["v2","assets",":assetID","logs"],"query":[{"key":"logs","value":"16","description":"This parameter is used to only get specific logs. This parameter accepts a comma delimited list of logIDs."},{"key":"users","value":"341","description":"This parameter is used to only get logs created by specific users. This parameter accepts a comma delimited list of userIDs."},{"key":"logEntry","value":"%bro%","description":"This is a parameter used to string search for manual log entry. This parameter expects a string with the wildcard %."},{"key":"start","value":"1506274400","description":"This parameter is used to only get logs that were last edited after the unix timestamp passed into the start parameter. "},{"key":"end","value":"1506274900","description":"This parameter is used to only get logs that were last edited before the unix timestamp passed into the end parameter."},{"key":"page","value":"1","description":"This parameter is used to paginate results based on the limit. Refer to Pagination section for more information."},{"key":"limit","value":"","description":"This parameter is a result limiter. The default is set to return no more than 100 results at one time.","disabled":true},{"key":"cursor","value":"","description":"This parameter is a cursor that selects what ID you want to start receiving results at. ","disabled":true}],"variable":[{"key":"assetID","value":"1","description":"The ID of the asset you need to the logs for."}]}},"_postman_previewlanguage":"Text","header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"0bc76c00-7948-41e1-b558-1666f91b2592"},{"name":"New Asset Log","id":"55401889-ca1d-4465-8c02-2eec2c3ec099","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"userID\": 342,\r\n    \"logEntry\": \"Creating a log\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/assets/:assetID/logs","description":"<p>This requests creates a manual log entry for an asset.</p>\n<table><tbody><tr><th>Parameter</th><th>Type</th><th>Required?</th><th>Description</th></tr><tr><td>userID</td><td>Int</td><td>Optional</td><td>The ID of the user creating the log. If userID is not given a log entry with userID=0 will be created.</td></tr><tr><td>logEntry</td><td>String</td><td>Required</td><td>Details of the log.</td></tr></tbody></table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","assets",":assetID","logs"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>The ID of the asset the log will be created for.</p>\n","type":"text/plain"},"type":"any","value":"1","key":"assetID"}]}},"response":[{"id":"9b0af1b3-e1dd-43f7-9004-6b85e3992088","name":"New Asset Log","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"userID\": 341,\r\n    \"logEntry\": \"Creating a log\"\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://localhost:3000/v2/assets/:assetID/logs","protocol":"https","host":["localhost"],"port":"3000","path":["v2","assets",":assetID","logs"],"variable":[{"key":"assetID","value":"17704","description":"The ID of the asset the log will be created for."}]}},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 17 May 2023 17:59:27 GMT","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"15","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"X-RateLimit-Limit","value":"1000","enabled":true},{"key":"X-RateLimit-Minute-Limit","value":"240","enabled":true},{"key":"X-RateLimit-Remaining","value":"997","enabled":true},{"key":"X-RateLimit-First-Call","value":"1684346312","enabled":true},{"key":"X-RateLimit-Minute-Remaining","value":"237","enabled":true},{"key":"X-RateLimit-Minute-First-Call","value":"1684346312","enabled":true},{"key":"ETag","value":"W/\"f-InH7NHoYEnCADtLIcEae2sefd6o\"","enabled":true},{"key":"X-CDN","value":"Imperva","enabled":true},{"key":"X-Iinfo","value":"14-16477094-16224370 sNNN RT(1684346311771 55540) q(0 0 0 -1) r(1 1) U6","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"logID\": 29777\n}"},{"id":"27df2fe9-c8cc-42cb-810b-a9ff3c460051","name":"New Asset Log","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"userID\": 341,\r\n    \"logEntry\": \"Creating a log\"\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://localhost:3000/v2/assets/:assetID/logs","protocol":"https","host":["localhost"],"port":"3000","path":["v2","assets",":assetID","logs"],"variable":[{"key":"assetID","value":"17704","description":"The ID of the asset the log will be created for."}]}},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 17 May 2023 18:03:03 GMT","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"15","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"X-RateLimit-Limit","value":"1000","enabled":true},{"key":"X-RateLimit-Minute-Limit","value":"240","enabled":true},{"key":"X-RateLimit-Remaining","value":"995","enabled":true},{"key":"X-RateLimit-First-Call","value":"1684346312","enabled":true},{"key":"X-RateLimit-Minute-Remaining","value":"238","enabled":true},{"key":"X-RateLimit-Minute-First-Call","value":"1684346576","enabled":true},{"key":"ETag","value":"W/\"f-rKg4iONnmQtPWSUfoNgQJj+eA5I\"","enabled":true},{"key":"X-CDN","value":"Imperva","enabled":true},{"key":"X-Iinfo","value":"14-16477094-16224370 sNNN RT(1684346311771 270836) q(0 0 0 -1) r(1 1) U6","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"logID\": 29778\n}"}],"_postman_id":"55401889-ca1d-4465-8c02-2eec2c3ec099"},{"name":"Update Asset Log","id":"ca42caeb-187d-4978-9eea-e865a8bb09e4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"logEntry\": \"Changing log\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/assets/logs/:logID","description":"<p>This requests updates a manual log entry for an asset.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","assets","logs",":logID"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>The ID of the log to be updated.</p>\n","type":"text/plain"},"type":"any","value":"7257","key":"logID"}]}},"response":[{"id":"044982f9-72d9-4a1b-94c2-8c5bc0badf5e","name":"Update Asset Log","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"logEntry\": \"Changing log\"\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://localhost:3000/v2/assets/logs/:logID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","assets","logs",":logID"],"variable":[{"key":"logID","value":"7257","description":"The ID of the log to be updated."}]}},"_postman_previewlanguage":"Text","header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"ca42caeb-187d-4978-9eea-e865a8bb09e4"},{"name":"Delete Asset Log","id":"15a5568d-70c2-4e09-9dd7-958025ba0460","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://localhost:3000/v2/assets/logs/:logID","description":"<p>This requests deletes a manual log entry for an asset.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","assets","logs",":logID"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>The ID of the log to be deleted.</p>\n","type":"text/plain"},"type":"any","value":"7257","key":"logID"}]}},"response":[{"id":"ca4ec1b1-14b8-4bdc-8952-61dd017e7507","name":"Delete Asset Log","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://localhost:3000/v2/assets/logs/:logID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","assets","logs",":logID"],"variable":[{"key":"logID","value":"7257","description":"The ID of the log to be deleted."}]}},"_postman_previewlanguage":"Text","header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"15a5568d-70c2-4e09-9dd7-958025ba0460"}],"id":"ef549d3e-e572-48d5-80e8-4e5c3b791f1e","_postman_id":"ef549d3e-e572-48d5-80e8-4e5c3b791f1e","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Batch","item":[{"name":"Batch Update Asset Fields","id":"eb99c8dd-9091-40a0-bef7-21b729586987","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"[\r\n    {\r\n        \"value\": \"Fix this\",\r\n        \"valueID\": 43676\r\n    },\r\n    {\r\n        \"value\": \"31\",\r\n        \"valueID\": 27050\r\n    },\r\n    {\r\n        \"value\": \"Integrated Module\",\r\n        \"valueID\": 24898\r\n    },\r\n    {\r\n        \"value\": \"94\",\r\n        \"valueID\": 46456\r\n    },\r\n    {\r\n        \"value\": \"57\",\r\n        \"valueID\": 46457\r\n    },\r\n    {\r\n        \"value\": \"31\",\r\n        \"valueID\": 46458\r\n    },\r\n    {\r\n        \"value\": \"100\",\r\n        \"valueID\": 45474\r\n    },\r\n    {\r\n        \"value\": \"12\",\r\n        \"valueID\": 45476  \r\n    },\r\n    {\r\n        \"value\": \"22\",\r\n        \"valueID\": 45477\r\n    },\r\n    {\r\n        \"value\": \"33\",\r\n        \"valueID\": 45478\r\n    },\r\n    {\r\n        \"value\": \"59\",\r\n        \"valueID\": 45479\r\n    },\r\n    {\r\n        \"value\": \"5\",\r\n        \"valueID\": 46014\r\n    },\r\n    {\r\n        \"value\": \"9\",\r\n        \"valueID\": 46460 \r\n    },\r\n    {\r\n        \"value\": \"9\",\r\n        \"valueID\": 46461\r\n    }\r\n]","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/assets/fields/batch/update","description":"<p>This request will update multiple asset fields values at a time. The request expects an array of asset fields values. The array needs to have atleast two asset field values and atmost 100 asset field values. The request expects an array made up of asset field values that need to be updated. Only asset fields values of type Text (1), Date (2), Number (5) and Currency (6) can be updated using this request.</p>\n<p>The response returns <code>{ sucess:true }</code> if all field values are updated successfully. The response returns <code>{ sucess: false }</code> and an <code>updates</code> array that gives details of which field values were updated and the <code>reason</code> for field values that were not updated successfully. Please refer to the examples for more information.</p>\n<table><tbody><tr><th>Parameter</th><th>Type</th><th>Required?</th><th>Description</th></tr><tr><td>valueID</td><td>Integer</td><td>Required</td><td>The valueID of the asset field value</td></tr><tr><td>value</td><td>Based on the type of value</td><td>Required</td><td>The value that needs to be updated</td></tr></tbody></table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","assets","fields","batch","update"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"a7511691-7e5a-42a1-ad25-16b108ff3cf2","name":"Some field values are not updated.","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"[\r\n    {\r\n        \"value\": \"Fix this\",\r\n        \"valueID\": 43676\r\n    },\r\n    {\r\n        \"value\": \"31\",\r\n        \"valueID\": 27050\r\n    },\r\n    {\r\n        \"value\": \"Integrated Module\",\r\n        \"valueID\": 24898\r\n    },\r\n    {\r\n        \"value\": \"94\",\r\n        \"valueID\": 46456\r\n    },\r\n    {\r\n        \"value\": \"57\",\r\n        \"valueID\": 46457\r\n    },\r\n    {\r\n        \"value\": \"31\",\r\n        \"valueID\": 46458\r\n    },\r\n    {\r\n        \"value\": \"100\",\r\n        \"valueID\": 45474\r\n    },\r\n    {\r\n        \"value\": \"12\",\r\n        \"valueID\": 45476  \r\n    },\r\n    {\r\n        \"value\": \"22\",\r\n        \"valueID\": 45477\r\n    },\r\n    {\r\n        \"value\": \"33\",\r\n        \"valueID\": 45478\r\n    },\r\n    {\r\n        \"value\": \"59\",\r\n        \"valueID\": 45479\r\n    },\r\n    {\r\n        \"value\": \"Five\",\r\n        \"valueID\": 46014\r\n    },\r\n    {\r\n        \"value\": \"9\",\r\n        \"valueID\": 46460 \r\n    },\r\n    {\r\n        \"value\": \"9\",\r\n        \"valueID\": 46461\r\n    }\r\n]","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/assets/fields/batch/update"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"X-RateLimit-Limit","value":"20","enabled":true},{"key":"X-RateLimit-Minute-Limit","value":"5","enabled":true},{"key":"X-RateLimit-Remaining","value":"16","enabled":true},{"key":"X-RateLimit-First-Call","value":"1681935325","enabled":true},{"key":"X-RateLimit-Minute-Remaining","value":"4","enabled":true},{"key":"X-RateLimit-Minute-First-Call","value":"1681935418","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"746","enabled":true},{"key":"ETag","value":"W/\"2ea-9a5aiZVHzxfDJP5+7qEoVM+eS4w\"","enabled":true},{"key":"Date","value":"Wed, 19 Apr 2023 20:17:05 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"updates\": [\n        {\n            \"value\": \"Fix this\",\n            \"valueID\": 43676,\n            \"success\": true\n        },\n        {\n            \"value\": \"31\",\n            \"valueID\": 27050,\n            \"success\": true\n        },\n        {\n            \"value\": \"Integrated Module\",\n            \"valueID\": 24898,\n            \"success\": true\n        },\n        {\n            \"value\": \"94\",\n            \"valueID\": 46456,\n            \"success\": true\n        },\n        {\n            \"value\": \"57\",\n            \"valueID\": 46457,\n            \"success\": true\n        },\n        {\n            \"value\": \"31\",\n            \"valueID\": 46458,\n            \"success\": true\n        },\n        {\n            \"value\": \"100\",\n            \"valueID\": 45474,\n            \"success\": true\n        },\n        {\n            \"value\": \"12\",\n            \"valueID\": 45476,\n            \"success\": true\n        },\n        {\n            \"value\": \"22\",\n            \"valueID\": 45477,\n            \"success\": true\n        },\n        {\n            \"value\": \"33\",\n            \"valueID\": 45478,\n            \"success\": true\n        },\n        {\n            \"value\": \"59\",\n            \"valueID\": 45479,\n            \"success\": true\n        },\n        {\n            \"value\": \"Five\",\n            \"valueID\": 46014,\n            \"success\": false,\n            \"reason\": \"That field requires a numerical value.\"\n        },\n        {\n            \"value\": \"9\",\n            \"valueID\": 46460,\n            \"success\": true\n        },\n        {\n            \"value\": \"9\",\n            \"valueID\": 46461,\n            \"success\": true\n        }\n    ],\n    \"success\": false\n}"},{"id":"01bdc508-c7fb-4547-8840-82ea8ab6a597","name":"All field values are updated","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"[\r\n    {\r\n        \"value\": \"Fix this\",\r\n        \"valueID\": 43676\r\n    },\r\n    {\r\n        \"value\": \"31\",\r\n        \"valueID\": 27050\r\n    },\r\n    {\r\n        \"value\": \"Integrated Module\",\r\n        \"valueID\": 24898\r\n    },\r\n    {\r\n        \"value\": \"94\",\r\n        \"valueID\": 46456\r\n    },\r\n    {\r\n        \"value\": \"57\",\r\n        \"valueID\": 46457\r\n    },\r\n    {\r\n        \"value\": \"31\",\r\n        \"valueID\": 46458\r\n    },\r\n    {\r\n        \"value\": \"100\",\r\n        \"valueID\": 45474\r\n    },\r\n    {\r\n        \"value\": \"12\",\r\n        \"valueID\": 45476  \r\n    },\r\n    {\r\n        \"value\": \"22\",\r\n        \"valueID\": 45477\r\n    },\r\n    {\r\n        \"value\": \"33\",\r\n        \"valueID\": 45478\r\n    },\r\n    {\r\n        \"value\": \"59\",\r\n        \"valueID\": 45479\r\n    },\r\n    {\r\n        \"value\": \"5\",\r\n        \"valueID\": 46014\r\n    },\r\n    {\r\n        \"value\": \"9\",\r\n        \"valueID\": 46460 \r\n    },\r\n    {\r\n        \"value\": \"9\",\r\n        \"valueID\": 46461\r\n    }\r\n]","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/assets/fields/batch/update"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"X-RateLimit-Limit","value":"20","enabled":true},{"key":"X-RateLimit-Minute-Limit","value":"5","enabled":true},{"key":"X-RateLimit-Remaining","value":"15","enabled":true},{"key":"X-RateLimit-First-Call","value":"1681935325","enabled":true},{"key":"X-RateLimit-Minute-Remaining","value":"3","enabled":true},{"key":"X-RateLimit-Minute-First-Call","value":"1681935418","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"16","enabled":true},{"key":"ETag","value":"W/\"10-oV4hJxRVSENxc/wX8+mA4/Pe4tA\"","enabled":true},{"key":"Date","value":"Wed, 19 Apr 2023 20:17:55 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true\n}"}],"_postman_id":"eb99c8dd-9091-40a0-bef7-21b729586987"}],"id":"ad5644a3-3a14-4e91-8c4e-69a9abd21c4d","_postman_id":"ad5644a3-3a14-4e91-8c4e-69a9abd21c4d","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Parts","item":[{"name":"Asset Parts","id":"e8656c8c-2e68-4ca7-873d-2bd0ed01825b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/assets/parts","description":"<p>This request returns a list of Part Asset Relations with top level information such as part, asset, qty, last edited, etc.</p>\n<p><strong>Note:</strong> this endpoint supports pagination. Please refer to the <a href=\"#pagination\"><b>Pagination</b></a> section for more information.</p>\n<p><b>Return data description</b></p>\n\n<table><tbody><tr><th>Property</th><th>Description</th></tr><tr><td><div>relationID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The Relations ID. e.g. 1</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>partID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The ID of the Part in this Relation</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>assetID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The ID of the Asset in this Relation</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>qty</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The qty of the Part related to this Asset</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>createdAt</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The unix timestamp at which this Relation was created</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>lastEdited</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The unix timestamp at which this Relation last saw a change</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>associationType</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The method used to create this Relation. At this time, only \"manual\" is supported</div><div><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","assets","parts"],"host":["localhost"],"query":[{"disabled":true,"description":{"content":"<p>This parameter is used to only get specific Assets. This parameter expects a comma delimited list of Asset IDs.</p>\n","type":"text/plain"},"key":"assets","value":"172,253"},{"disabled":true,"description":{"content":"<p>This parameter is a result limiter. The default is set to return no more than 100 results at one time.</p>\n","type":"text/plain"},"key":"limit","value":"3"},{"disabled":true,"description":{"content":"<p>This parameter is used to paginate results based on the limit. Refer to Pagination section for more information.</p>\n","type":"text/plain"},"key":"page","value":"3"},{"disabled":true,"description":{"content":"<p>This parameter is a cursor that selects what ID you want to start receiving results at. Without ordering, this will return results with an ID greater than the value of cursor. With ordering, this will return results starting at the next item in the order, regardless of whether its ID is greater than or lesser than the value of cursor.</p>\n","type":"text/plain"},"key":"cursor","value":"49"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get specific Parts. This parameter accepts a comma delimited list of part IDs.</p>\n","type":"text/plain"},"key":"parts","value":"46,172"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get specific relations. This parameter expects a comma delimited list of relation IDs.</p>\n","type":"text/plain"},"key":"relations","value":"1,10"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get relations that were last edited after the unix timestamp passed into the start parameter. For example, all relations that were last edited after April 18th, 2018.</p>\n","type":"text/plain"},"key":"start","value":"1334570141"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get relations that were last edited <em>before</em> the unix timestamp passed into the end parameter.</p>\n","type":"text/plain"},"key":"end","value":"1784570141"}],"variable":[]}},"response":[],"_postman_id":"e8656c8c-2e68-4ca7-873d-2bd0ed01825b"}],"id":"e15fbe92-113c-4ee2-acf6-dfb743ab77cc","_postman_id":"e15fbe92-113c-4ee2-acf6-dfb743ab77cc","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Assets","event":[{"listen":"test","script":{"id":"e2c28ec0-2ee7-49db-95d3-5ef9ab3ebdb8","exec":["// const firstAsset = pm.response.json()[0];","","// pm.test('gets assets', () => {","//   pm.expect(firstAsset.name).to.eql('test111');","// });","","// pm.globals.set('assetID', firstAsset.id);","","pm.test(\"response is created\", () => {","    pm.response.to.have.status(200);","});"],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"0824a728-a74b-4e95-87b3-8df15cab26db","exec":[""],"type":"text/javascript","packages":{}}}],"id":"2c7786f6-9e7a-4762-88a5-54a5bad1beee","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/assets/","description":"<p>This request returns a list of Assets with top level information such as name, last edited, etc.</p>\n<p><strong>Note:</strong> this endpoint supports pagination. Please refer to the <a href=\"#pagination\"><b>Pagination</b></a> section for more information.</p>\n<p><b>Return data description</b></p>\n\n<p><br /><br /></p><p><br /><br /><br /></p><table><tbody><tr><th>Property</th><th>Description</th></tr><tr><td><div>meta</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Requests to gather more information on an Asset such as Fields for the Asset or what Tasks are assigned to the Asset</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>startedOn</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The date when this Asset was started on. This property is used to help determine runtime which is used in MTBF.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>lastEdited</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A UNIX timestamp of when this Asset was last edited.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>parentAssetID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The Asset that is the parent of this Asset. If the value is 0 that means this Asset does not have a parent.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>locationID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The ID of the location this asset is located at.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>hoursPerWeek</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The number of hours this Asset runs per week. This is used to determine runtime which is used in MTBF. If the value is -1 then the Asset uses the Location's hoursPerWeek setting.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>workRequestPortal</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The url work requestors can use to submit problems with this Asset.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>image</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Array of objects that have a file name and a link you can use to download that image. All links are only valid for 15 minutes, a new call will generate a new link.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>geoLocation</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The location of an asset on a Map.</div><div><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","assets",""],"host":["localhost"],"query":[{"disabled":true,"description":{"content":"<p>This parameter is used to only get specific Assets. This parameter expects a comma delimited list of Asset IDs.</p>\n","type":"text/plain"},"key":"assets","value":"1"},{"disabled":true,"description":{"content":"<p>This is a parameter used to string search for a name or partial name of an asset this parameter expects a string with the wildcard %.</p>\n","type":"text/plain"},"key":"name","value":"%test%"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get Assets at a specific group of Locations. This parameter accepts a comma delimited list of Location IDs.</p>\n","type":"text/plain"},"key":"locations","value":"73"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get Assets that were last edited after the unix timestamp passed into the start parameter. For example, all Assets that were last edited after April 18th, 2018.</p>\n","type":"text/plain"},"key":"start","value":"1541796014"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get Assets that were last edited <em>before</em> the unix timestamp passed into the end parameter.</p>\n","type":"text/plain"},"key":"end","value":"1541796014"},{"disabled":true,"description":{"content":"<p>This parameter is a cursor that selects what ID you want to start receiving results at. Without ordering, this will return results with an ID greater than the value of cursor. With ordering, this will return results starting at the next item in the order, regardless of whether its ID is greater than or lesser than the value of cursor.</p>\n","type":"text/plain"},"key":"cursor","value":"0"},{"disabled":true,"description":{"content":"<p>This parameter is a result limiter. The default is set to return no more than 100 results at one time.</p>\n","type":"text/plain"},"key":"limit","value":"1"},{"disabled":true,"description":{"content":"<p>This parameter can be used to get asset(s) children using the Parent's ID. This parameter accepts a comma delimited list of Asset IDs.</p>\n","type":"text/plain"},"key":"parentAssetID","value":"2317"},{"disabled":true,"description":{"content":"<p>This parameter is used to order results by their lastEdited property instead of the default ordering by ascending assetID. CANNOT be provided alongside the cursor parameter. to paginate in this ordering, use the start or end parameters.</p>\n","type":"text/plain"},"key":"orderBy","value":"-lastEdited"},{"disabled":true,"description":{"content":"<p>This parameter is used to paginate results based on the limit. Refer to Pagination section for more information.</p>\n","type":"text/plain"},"key":"page","value":"1"},{"disabled":true,"description":{"content":"<p>This parameter is used to filter results that contain a geoLocation property. By default it is false and will return <strong>all</strong> assets with and without geoLocation property. If true, it will only return assets with a geoLocation property.</p>\n","type":"text/plain"},"key":"geoLocation","value":"true"}],"variable":[]}},"response":[{"id":"9fc77d63-ebed-4a56-9ce6-45ead9b61398","name":"Pagination using Page & Limit","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/assets/?limit=5&orderBy=-lastEdited&page=3","protocol":"https","host":["localhost"],"port":"3000","path":["v2","assets",""],"query":[{"key":"assets","value":"1","description":"This parameter is used to only get specific Assets. This parameter expects a comma delimited list of Asset IDs.","disabled":true},{"key":"name","value":"test%","description":"This is a parameter used to string search for a name or partial name of an asset this parameter expects a string with the wildcard %.","disabled":true},{"key":"locations","value":"73","description":"This parameter is used to only get Assets at a specific group of Locations. This parameter accepts a comma delimited list of Location IDs.","disabled":true},{"key":"start","value":"1541796014","description":"This parameter is used to only get Assets that were last edited after the unix timestamp passed into the start parameter. For example, all Assets that were last edited after April 18th, 2018.","disabled":true},{"key":"end","value":"1541796014","description":"This parameter is used to only get Assets that were last edited *before* the unix timestamp passed into the end parameter.","disabled":true},{"key":"cursor","value":"0","description":"This parameter is a cursor that selects what ID you want to start receiving results at. Without ordering, this will return results with an ID greater than the value of cursor. With ordering, this will return results starting at the next item in the order, regardless of whether its ID is greater than or lesser than the value of cursor.","disabled":true},{"key":"limit","value":"5","description":"This parameter is a result limiter. The default is set to return no more than 100 results at one time."},{"key":"parentAssetID","value":"2317","description":"This parameter can be used to get asset(s) children using the Parent's ID. This parameter accepts a comma delimited list of Asset IDs.","type":"text","disabled":true},{"key":"orderBy","value":"-lastEdited","description":"This parameter is used to order results by their lastEdited property instead of the default ordering by ascending assetID. CANNOT be provided alongside the cursor parameter. to paginate in this ordering, use the start or end parameters."},{"key":"page","value":"3","description":"This parameter is used to paginate results based on the limit. Refer to Pagination section for more information."}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Last-Page","value":"/v2/assets/?limit=5&orderBy=-lastEdited&page=279","enabled":true},{"key":"Next-Page","value":"/v2/assets/?limit=5&orderBy=-lastEdited&page=4","enabled":true},{"key":"Previous-Page","value":"/v2/assets/?limit=5&orderBy=-lastEdited&page=2","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"1617","enabled":true},{"key":"ETag","value":"W/\"651-8iDwADU8ivKaURXdUIfkE+U+neA\"","enabled":true},{"key":"Date","value":"Wed, 06 Oct 2021 16:01:44 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"assetID\": 10836,\n        \"name\": \"Health Berkshire\",\n        \"startedOn\": 1632949149,\n        \"lastEdited\": 1632949149,\n        \"parentAssetID\": 0,\n        \"locationID\": 205,\n        \"hoursPerWeek\": 40,\n        \"meta\": {\n            \"fields\": \"/v2/assets/fields/?assets=10836\",\n            \"tasks\": \"/v2/tasks/?assets=10836\"\n        },\n        \"workRequestPortal\": \"https://app.limblestaging.com/#!/problem/fdle6w36/205/10836\",\n        \"image\": []\n    },\n    {\n        \"assetID\": 10835,\n        \"name\": \"Walks\",\n        \"startedOn\": 1632949148,\n        \"lastEdited\": 1632949149,\n        \"parentAssetID\": 0,\n        \"locationID\": 205,\n        \"hoursPerWeek\": 40,\n        \"meta\": {\n            \"fields\": \"/v2/assets/fields/?assets=10835\",\n            \"tasks\": \"/v2/tasks/?assets=10835\"\n        },\n        \"workRequestPortal\": \"https://app.limblestaging.com/#!/problem/fdle6w36/205/10835\",\n        \"image\": []\n    },\n    {\n        \"assetID\": 10834,\n        \"name\": \"Executive Springs Phased\",\n        \"startedOn\": 1632949148,\n        \"lastEdited\": 1632949148,\n        \"parentAssetID\": 0,\n        \"locationID\": 205,\n        \"hoursPerWeek\": 40,\n        \"meta\": {\n            \"fields\": \"/v2/assets/fields/?assets=10834\",\n            \"tasks\": \"/v2/tasks/?assets=10834\"\n        },\n        \"workRequestPortal\": \"https://app.limblestaging.com/#!/problem/fdle6w36/205/10834\",\n        \"image\": []\n    },\n    {\n        \"assetID\": 10833,\n        \"name\": \"functionalities\",\n        \"startedOn\": 1632949148,\n        \"lastEdited\": 1632949148,\n        \"parentAssetID\": 0,\n        \"locationID\": 205,\n        \"hoursPerWeek\": 40,\n        \"meta\": {\n            \"fields\": \"/v2/assets/fields/?assets=10833\",\n            \"tasks\": \"/v2/tasks/?assets=10833\"\n        },\n        \"workRequestPortal\": \"https://app.limblestaging.com/#!/problem/fdle6w36/205/10833\",\n        \"image\": []\n    },\n    {\n        \"assetID\": 10832,\n        \"name\": \"AGP magnetic Handmade\",\n        \"startedOn\": 1632949148,\n        \"lastEdited\": 1632949148,\n        \"parentAssetID\": 0,\n        \"locationID\": 205,\n        \"hoursPerWeek\": 40,\n        \"meta\": {\n            \"fields\": \"/v2/assets/fields/?assets=10832\",\n            \"tasks\": \"/v2/tasks/?assets=10832\"\n        },\n        \"workRequestPortal\": \"https://app.limblestaging.com/#!/problem/fdle6w36/205/10832\",\n        \"image\": []\n    }\n]"},{"id":"d171b472-2d60-4d4a-a778-5aaac9b6d82b","name":"Assets","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/assets/?limit=1&page=1&geoLocation=true","protocol":"https","host":["localhost"],"port":"3000","path":["v2","assets",""],"query":[{"key":"assets","value":"1","description":"This parameter is used to only get specific Assets. This parameter expects a comma delimited list of Asset IDs.","disabled":true},{"key":"name","value":"test%","description":"This is a parameter used to string search for a name or partial name of an asset this parameter expects a string with the wildcard %.","disabled":true},{"key":"locations","value":"73","description":"This parameter is used to only get Assets at a specific group of Locations. This parameter accepts a comma delimited list of Location IDs.","disabled":true},{"key":"start","value":"1541796014","description":"This parameter is used to only get Assets that were last edited after the unix timestamp passed into the start parameter. For example, all Assets that were last edited after April 18th, 2018.","disabled":true},{"key":"end","value":"1541796014","description":"This parameter is used to only get Assets that were last edited *before* the unix timestamp passed into the end parameter.","disabled":true},{"key":"cursor","value":"0","description":"This parameter is a cursor that selects what ID you want to start receiving results at. Without ordering, this will return results with an ID greater than the value of cursor. With ordering, this will return results starting at the next item in the order, regardless of whether its ID is greater than or lesser than the value of cursor.","disabled":true},{"key":"limit","value":"1","description":"This parameter is a result limiter. The default is set to return no more than 100 results at one time."},{"key":"parentAssetID","value":"2317","description":"This parameter can be used to get asset(s) children using the Parent's ID. This parameter accepts a comma delimited list of Asset IDs.","type":"text","disabled":true},{"key":"orderBy","value":"-lastEdited","description":"This parameter is used to order results by their lastEdited property instead of the default ordering by ascending assetID. CANNOT be provided alongside the cursor parameter. to paginate in this ordering, use the start or end parameters.","disabled":true},{"key":"page","value":"1","description":"This parameter is used to paginate results based on the limit. Refer to Pagination section for more information."},{"key":"geoLocation","value":"true","description":"This parameter is used to filter results that contain a geoLocation property. By default it is false and will return **all** assets with and without geoLocation property. If true, it will only return assets with a geoLocation property."}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Last-Page","value":"/v2/assets/?limit=1&page=2&geoLocation=true","enabled":true},{"key":"Next-Page","value":"/v2/assets/?limit=1&page=2&geoLocation=true","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"635","enabled":true},{"key":"ETag","value":"W/\"27b-rwBpXBVaJmpo+YNTBNuESfHL7Ac\"","enabled":true},{"key":"Date","value":"Thu, 24 Mar 2022 17:07:23 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"assetID\": 10724,\n        \"name\": \"new asset - 2492041\",\n        \"startedOn\": 1647979765,\n        \"lastEdited\": 1647979765,\n        \"parentAssetID\": 0,\n        \"locationID\": 163,\n        \"geoLocation\": \"{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":[],\\\"geometry\\\":{\\\"type\\\":\\\"Polygon\\\",\\\"coordinates\\\":[[[-78.80115509033202,35.79539926172002],[-78.80218505859375,35.77562523392773],[-78.76407623291016,35.77646085576333],[-78.76304626464844,35.7952600252034],[-78.80115509033202,35.79539926172002]]]}}\",\n        \"hoursPerWeek\": 100,\n        \"meta\": {\n            \"fields\": \"/v2/assets/fields/?assets=10724\",\n            \"tasks\": \"/v2/tasks/?assets=10724\"\n        },\n        \"workRequestPortal\": \"https://app.limblestaging.com/#!/problem/fdle6w36/163/10724\",\n        \"image\": []\n    }\n]"}],"_postman_id":"2c7786f6-9e7a-4762-88a5-54a5bad1beee"},{"name":"New Asset","event":[{"listen":"prerequest","script":{"id":"4f131dce-c4d2-4a84-bcf6-8e4b8142be36","exec":["pm.globals.set('assetName', `new asset - ${Math.floor(Math.random() * 10000000)}`);"],"type":"text/javascript"}},{"listen":"test","script":{"id":"c62c2495-bc9c-4428-b2a5-5a06fa631ffa","exec":["const assetID = pm.response.json().assetID;","","pm.test(\"response is created\", () => {","    pm.response.to.have.status(201);","});","","pm.test(\"location header is valid\", () => {","    const locationHeader = postman.getResponseHeader('Location')","    pm.expect(locationHeader).to.eql(`/v2/assets/?assets=${assetID}`);","})","","pm.globals.set('assetID', assetID);",""],"type":"text/javascript"}}],"id":"a3bb4dc1-238c-485f-ae41-40683b8f1f43","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"locationID\": {{assetLocationID}},\n\t\"name\": \"{{assetName}}\",\n\t\"hoursPerWeek\": 100,\n    \"geoLocation\": {\n      \"type\": \"Feature\",\n      \"properties\": {\n        \"name\": \"Lehi\"\n      },\n      \"geometry\": {\n        \"type\": \"Point\",\n        \"coordinates\": [\n          -111.84906005859375,\n          40.39075031913329\n        ]\n      }\n    }\n}\n"},"url":"https://localhost:3000/v2/assets/","description":"<p>This request creates a new blank Asset.</p>\n<table>\n    <thead>\n        <tr>\n            <th>Parameter</th>\n            <th>Type</th>\n            <th>Required?</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>name</td>\n            <td>String</td>\n            <td>Required</td>\n            <td>The new name of the Asset.</td>\n        </tr>\n        <tr>\n            <td>hoursPerWeek</td>\n            <td>Integer</td>\n            <td>Optional</td>\n            <td>The new hours of operation per week for this Asset. Use -1 to disable this feature.</td>\n        </tr>\n        <tr>\n            <td>parentAssetID</td>\n            <td>Int</td>\n            <td>Optional</td>\n            <td>The asset's parent. This makes it so assets can be nested in the web application.</td>\n        </tr>\n        <tr>\n            <td>locationID</td>\n            <td>Int</td>\n            <td>Required</td>\n            <td>The ID of the location this asset is located at.</td>\n        </tr>\n<tr>\n            <td>geoLocation</td>\n            <td>geoJSON</td>\n            <td>Optional</td>\n            <td>The <a href=\"https://geojson.org\">geoJSON</a> Feature object that can be used to locate an asset on a Map.</td>\n        </tr>\n    </tbody>\n</table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","assets",""],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"4019b312-57f1-456d-8c27-14c89bbc7a51","name":"New Asset","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"locationID\": 163,\n\t\"name\": \"{{assetName}}\",\n\t\"hoursPerWeek\": 100,\n    \"geoLocation\": {\n      \"type\": \"Feature\",\n      \"properties\": {\n        \"name\": \"Lehi\"\n      },\n      \"geometry\": {\n        \"type\": \"Point\",\n        \"coordinates\": [\n          -111.84906005859375,\n          40.39075031913329\n        ]\n      }\n    }\n}\n"},"url":"https://localhost:3000/v2/assets/"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Location","value":"/v2/assets/?assets=10728","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"19","enabled":true},{"key":"ETag","value":"W/\"13-Mu+Vv5shww+PE7LVVgiulp99zmE\"","enabled":true},{"key":"Date","value":"Thu, 24 Mar 2022 17:09:23 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"assetID\": \"10728\"\n}"},{"id":"9deebc20-a969-4a5d-bbc5-ce9b885f9a93","name":"New Asset","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"locationID\": {{assetLocationID}},\n\t\"name\": \"{{assetName}}\",\n\t\"hoursPerWeek\": 100,\n    \"geoLocation\": {\n      \"type\": \"Feature\",\n      \"properties\": {\n        \"name\": \"Lehi\"\n      },\n      \"geometry\": {\n        \"type\": \"Point\",\n        \"coordinates\": [\n          -111.84906005859375,\n          40.39075031913329\n        ]\n      }\n    }\n}\n"},"url":"https://localhost:3000/v2/assets/"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx","enabled":true},{"key":"Date","value":"Thu, 08 Feb 2024 19:46:07 GMT","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"15","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Location","value":"/v2/assets/?assets=2","enabled":true},{"key":"ETag","value":"W/\"f-kmG8qoR1QXbUM9wWc5jDHKyJOTM\"","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"assetID\": \"2\"\n}"}],"_postman_id":"a3bb4dc1-238c-485f-ae41-40683b8f1f43"},{"name":"Patch Asset","event":[{"listen":"test","script":{"id":"a7dfb4b5-b1ce-4c07-8940-33e2d15f3e9e","exec":["pm.test(\"response is created\", () => {","    pm.response.to.have.status(200);","});"],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"cd0def9d-9e4c-4954-a710-426118e26254","exec":["pm.globals.set('updatedAssetName', `updated asset - ${Math.floor(Math.random() * 10000000)}`);"],"type":"text/javascript"}}],"id":"7a6e3a9a-2ccf-41a3-9916-b51f91be3b75","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"startedOn\": 1541796015,\n\t\"hoursPerWeek\": 30,\n\t\"name\": \"{{newAssetName}}\",\n     \"geoLocation\": {\n      \"type\": \"Feature\",\n      \"properties\": {\n        \"name\": \"Salt Lake City\"\n      },\n      \"geometry\": {\n        \"type\": \"Point\",\n        \"coordinates\": [\n          -111.9012451171875,\n          40.76962180287486\n        ]\n      }\n    }\n    \n}\n"},"url":"https://localhost:3000/v2/assets/:assetID/","description":"<p>This request updates an Asset's top level information. See Update Asset Field Value to update an Asset Field's value.</p>\n<p><br /><br /></p><p><br /><br /><br /></p><table><tbody><tr><th>Parameter</th><th>Type</th><th>Required?</th><th>Description</th></tr><tr><td>name</td><td>String</td><td>Optional</td><td>The new name of the Asset.</td></tr><tr><td>hoursPerWeek</td><td>Integer</td><td>Optional</td><td>The new hours of operation per week for this Asset. Use -1 to disable this feature and have it default to the Locations hours of operation.</td></tr><tr><td>parentAssetID</td><td>Int</td><td>Optional</td><td>The asset's parent. This must be another asset ID and is used to display an Asset hierarchy. You can not have assets be their own ancestor.</td></tr><tr><td>startedOn</td><td>Int</td><td>Optional</td><td>The new date this Asset was created. Must be a <a href=\"https://www.unixtimestamp.com\">unix<br />timestamp</a>.</td></tr><tr><td>geoLocation</td><td>geoJSON</td><td>Optional</td><td>The <a href=\"https://geojson.org\">geoJSON</a> Feature object that can be used to locate an asset on a Map. To remove geoLocation from an Asset pass an empty object ( <code>{}</code>).</td></tr></tbody></table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","assets",":assetID",""],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>The value of the asset that needs to be updated</p>\n","type":"text/plain"},"type":"any","value":"10728","key":"assetID"}]}},"response":[{"id":"120672b0-99fb-4108-b613-824140bf6077","name":"Patch Asset","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"startedOn\": 1541796015,\n\t\"hoursPerWeek\": 30,\n\t\"name\": \"{{newAssetName}}\",\n     \"geoLocation\": {\n      \"type\": \"Feature\",\n      \"properties\": {\n        \"name\": \"Salt Lake City\"\n      },\n      \"geometry\": {\n        \"type\": \"Point\",\n        \"coordinates\": [\n          -111.9012451171875,\n          40.76962180287486\n        ]\n      }\n    }\n    \n}\n"},"url":{"raw":"https://localhost:3000/v2/assets/:assetID/","protocol":"https","host":["localhost"],"port":"3000","path":["v2","assets",":assetID",""],"variable":[{"key":"assetID","value":"10728"}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Thu, 24 Mar 2022 17:11:15 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"7a6e3a9a-2ccf-41a3-9916-b51f91be3b75"},{"name":"Delete Asset","event":[{"listen":"prerequest","script":{"id":"4f131dce-c4d2-4a84-bcf6-8e4b8142be36","exec":[""],"type":"text/javascript","packages":{},"requests":{}}},{"listen":"test","script":{"id":"c62c2495-bc9c-4428-b2a5-5a06fa631ffa","exec":["pm.test(\"response is created\", () => {","    pm.response.to.have.status(200);","});"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"cceedc7e-9fd6-49de-9924-b5896000cfe2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://localhost:3000/v2/assets/?assetID={{assetID}}","description":"<p>This request removes an Asset from your Limble account.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","assets",""],"host":["localhost"],"query":[{"description":{"content":"<p>assetID of the asset you are removing.</p>\n","type":"text/plain"},"key":"assetID","value":"{{assetID}}"}],"variable":[{"type":"any","value":"{{assetID}}","key":"assetID"}]}},"response":[{"id":"1f0cfc38-9883-4332-9bd7-fbd017326a82","name":"Delete Asset","originalRequest":{"method":"DELETE","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"url":{"raw":"https://localhost:3000/v2/assets/:assetID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","assets",":assetID"],"variable":[{"key":"assetID","value":"{{assetID}}","description":"assetID of the asset you are removing."}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 21:43:36 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"cceedc7e-9fd6-49de-9924-b5896000cfe2"},{"name":"Move Asset to another Location","id":"00eb81ce-ddbd-4c26-8727-3eae2779fe8f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"locationID\":73,\r\n    \"transferParts\": true\r\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/assets/:assetID/move","description":"<p>This request moves an existing asset from it's current location to another location. An parent asset that has one or more children assets cannot be moved.</p>\n<p>A child asset can be moved and will be created as a top level asset in the other location.</p>\n<table><tbody><tr><th>Parameter</th><th>Type</th><th>Required?</th><th>Description</th></tr><tr><td><div>locationID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Int</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Required</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The locationID of the location the asset needs to be moved to.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>transferParts</div><div><div><div><div></div></div></div><div></div></div></td><td><div>boolean</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A boolean representing whether parts associated with the asset should be moved to the location as well.<br /><br />Defaults to true.</div><div><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","assets",":assetID","move"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>The value of the asset that needs to be moved</p>\n","type":"text/plain"},"type":"any","value":"14113","key":"assetID"}]}},"response":[{"id":"3c3cb518-b841-46d6-959b-7f854ea89089","name":"Move Asset to another Location","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"locationID\":163\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://localhost:3000/v2/assets/:assetID/move","protocol":"https","host":["localhost"],"port":"3000","path":["v2","assets",":assetID","move"],"variable":[{"key":"assetID","value":"13","description":"The value of the asset that needs to be moved"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"X-RateLimit-Limit","value":"2000","enabled":true},{"key":"X-RateLimit-Minute-Limit","value":"240","enabled":true},{"key":"X-RateLimit-Remaining","value":"1995","enabled":true},{"key":"X-RateLimit-First-Call","value":"1684352145","enabled":true},{"key":"X-RateLimit-Minute-Remaining","value":"238","enabled":true},{"key":"X-RateLimit-Minute-First-Call","value":"1684352297","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"14","enabled":true},{"key":"ETag","value":"W/\"e-3n/8BWqSsg5LnA4Q/c7YfBO++zk\"","enabled":true},{"key":"Date","value":"Wed, 17 May 2023 19:39:15 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"moved\": true\n}"}],"_postman_id":"00eb81ce-ddbd-4c26-8727-3eae2779fe8f"}],"id":"2a4d7b0f-6524-4ad7-93ee-d1d2a4de96bb","description":"<p>Assets can be just about anything.  Limble customers often use it to represent their equipment, but assets can be used to represent locations, areas, buildings and even intangible items.</p>\n","_postman_id":"2a4d7b0f-6524-4ad7-93ee-d1d2a4de96bb","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Locations","item":[{"name":"Locations","event":[{"listen":"test","script":{"id":"bf4b2a11-8b52-48b1-9ad8-1a1ca8be0998","exec":["// const firstLocation = pm.response.json()[0];","","// pm.test('gets assets', () => {","//   pm.expect(firstLocation.name).to.eql('NY - Facility 1');","// });","","// pm.globals.set('locationID', firstLocation.id);","","pm.test(\"response must be valid and have a body\", function () {","     // assert that the status code is 200","     pm.response.to.be.ok; // info, success, redirection, clientError,  serverError, are other variants","     // assert that the response has a valid JSON body","     pm.response.to.be.withBody;","     pm.response.to.be.json; // this assertion also checks if a body  exists, so the above check is not needed","});"],"type":"text/javascript","packages":{}}}],"id":"939d9845-6f27-4f4c-83c6-b4e42450cb6b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/locations/","description":"<p>This request returns your Locations in Limble.</p>\n<p><strong>Note:</strong> this endpoint supports pagination. Please refer to the <a href=\"https://desktop.postman.com/?desktopVersion=9.31.0&amp;userId=16480856&amp;teamId=206430\"><strong>Pagination</strong></a> section for more information.</p>\n<p><strong>Note:</strong> this endpoint supports pagination. Please refer to the <a href=\"https://desktop.postman.com/?desktopVersion=9.31.0&amp;userId=16480856&amp;teamId=206430\"><b>Pagination</b></a> section for more information.</p>\n<p>EndFragment</p>\n<p><strong>Return data description</strong></p>\n<table><tbody><tr><th>Property</th><th>Description</th></tr><tr><td><div>name</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The name of the Location</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>regionID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The ID of the region the Location is part of. A regionID of 0 means the location is not a part of any region.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>timezone</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The Timezone the location is set at.<a href=\"https://www.php.net/manual/en/timezones.php\">List of Timezones</a></div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>weeklyOperationHours</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The number of hours your Assets run at this location per week. This is used to help calculate MTBF.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>workRequestPortal</div><div><div><div><div></div></div></div><div></div></div></td><td><div>This is a URL you can use to submit Work Requests to this Location.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>geoLocation</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The location of a Limble location on a Map.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>currencyCode</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The ISO code for the currency at this location.</div><div><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","locations",""],"host":["localhost"],"query":[{"disabled":true,"description":{"content":"<p>This parameter is used to only get locations in the list provided. This parameter accepts a comma delimited list of Location IDs.</p>\n","type":"text/plain"},"key":"locations","value":"73"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get specific locations by name. This parameter expects a string full name of a location or partial name with the wildcard %.</p>\n","type":"text/plain"},"key":"name","value":"%NY%"},{"disabled":true,"description":{"content":"<p>This parameter is a cursor that selects what locationID you want to start receiving results at. e.g. passing 137 here will only get you locations with an id greater than 137.</p>\n","type":"text/plain"},"key":"cursor","value":"0"},{"disabled":true,"description":{"content":"<p>This parameter is a result limiter. The default is set to return no more than 100 results at one time.</p>\n","type":"text/plain"},"key":"limit","value":"1"},{"disabled":true,"description":{"content":"<p>This parameter is used to get locations that belong to a region.\nThis parameter expects a regionID a location may belong to.</p>\n","type":"text/plain"},"key":"regions","value":"0"},{"disabled":true,"description":{"content":"<p>This parameter is used to filter results that contain a geoLocation property. By default it is false and will return <strong>all</strong> locations with and without geoLocation property. If true, it will only return locations with a geoLocation property.</p>\n","type":"text/plain"},"key":"geoLocation","value":"true"},{"disabled":true,"key":"page","value":"1"}],"variable":[]}},"response":[{"id":"54b146c9-4d12-47db-91b5-8800b2a89eb2","name":"Locations","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/locations/?locations=73&name=%NY%&limit=1&page=1","protocol":"https","host":["localhost"],"port":"3000","path":["v2","locations",""],"query":[{"key":"locations","value":"73","description":"This parameter is used to only get locations in the list provided. This parameter accepts a comma delimited list of Location IDs."},{"key":"name","value":"%NY%","description":"This parameter is used to only get specific locations by name. This parameter expects a string full name of a location or partial name with the wildcard %."},{"key":"cursor","value":"0","description":"This parameter is a cursor that selects what locationID you want to start receiving results at. e.g. passing 137 here will only get you locations with an id greater than 137.","disabled":true},{"key":"limit","value":"1","description":"This parameter is a result limiter. The default is set to return no more than 100 results at one time."},{"key":"regions","value":"0","description":"This parameter is used to get locations that belong to a region.\nThis parameter expects a regionID a location may belong to.","disabled":true},{"key":"geoLocation","value":"true","description":"This parameter is used to filter results that contain a geoLocation property. By default it is false and will return **all** locations with and without geoLocation property. If true, it will only return locations with a geoLocation property.","disabled":true},{"key":"page","value":"1","description":"This parameter is used to paginate results based on the limit. Refer to Pagination section for more information."}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Last-Page","value":"/v2/locations/?locations=73&name=%NY%&limit=1&page=1","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"304","enabled":true},{"key":"ETag","value":"W/\"130-8AXFhGH8WtOh5W8usLdVVQa+rgo\"","enabled":true},{"key":"Date","value":"Tue, 11 Oct 2022 18:48:00 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"locationID\": 73,\n        \"name\": \"NY - Facility 1\",\n        \"regionID\": 0,\n        \"timezone\": \"America/Denver\",\n        \"weeklyOperationHours\": 40,\n        \"address\": null,\n        \"address2\": null,\n        \"phone\": null,\n        \"metaField1\": null,\n        \"metaField2\": null,\n        \"metaField3\": null,\n        \"geoLocation\": null,\n        \"workRequestPortal\": \"https://app.limblestaging.com/loc-problem/fdle6w36/73\",\n        \"currencyCode\": \"USD\"\n    }\n]"}],"_postman_id":"939d9845-6f27-4f4c-83c6-b4e42450cb6b"},{"name":"New Location","event":[{"listen":"prerequest","script":{"id":"87ee70c8-43de-44bd-bfd3-c53c0791738b","exec":["pm.globals.set('newLocationName', `new location - ${Math.floor(Math.random() * 10000000)}`);"],"type":"text/javascript"}},{"listen":"test","script":{"id":"51e80c59-d919-48d2-974e-4ec3858e81be","exec":["const locationID = pm.response.json().locationID;","","pm.test(\"response is created\", () => {","    pm.response.to.have.status(201);","});","","pm.test(\"location header is valid\", () => {","    const locationHeader = postman.getResponseHeader('Location')","    pm.expect(locationHeader).to.eql(`/v2/locations/?locations=${locationID}`);","});","","pm.globals.set('locationID', locationID);",""],"type":"text/javascript"}}],"id":"182fdbee-6882-47c0-9807-ee2c5363fec7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n\t\"name\":\"{{newLocationName}}\",\r\n\t\"timezone\":\"America/Denver\",\r\n\t\"phone\":\"8015555555\",\r\n\t\"address\":\"3290 W Mayflower Ave\",\r\n\t\"address2\":\"Lehi, Utah, 84043\",\r\n\t\"weeklyOperationHours\": 40,\r\n    \"geoLocation\": {\r\n        \"type\":\"Feature\",\r\n        \"properties\":{\r\n            \"name\":\"Lehi\"\r\n            },\r\n        \"geometry\":{\r\n            \"type\":\"Point\",\r\n            \"coordinates\":[-111.84906005859375,40.39075031913329]\r\n        }\r\n    },\r\n    \"currencyCode\": \"USD\"  \r\n}\r\n"},"url":"https://localhost:3000/v2/locations","description":"<p>This request creates a new Location.</p>\n<p><strong>Body parameter descriptions</strong></p>\n<table><tbody><tr><th>Parameter</th><th>Type</th><th>Required?</th><th>Description</th></tr><tr><td><div>name</div><div><div><div><div></div></div></div><div></div></div></td><td><div>String</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Required</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The new name of the Location.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>timezone</div><div><div><div><div></div></div></div><div></div></div></td><td><div>string</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Required</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The timezone this location resides in. This accepts a standard tz database name, see <a href=\"https://en.wikipedia.org/wiki/List_of_tz_database_time_zones\">here.</a></div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>phone</div><div><div><div><div></div></div></div><div></div></div></td><td><div>string</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Required</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The phone number associated with this location.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>weeklyOperationHours</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Int</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The hours per week this location operates.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>address</div><div><div><div><div></div></div></div><div></div></div></td><td><div>string</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The physical address of this location.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>address2</div><div><div><div><div></div></div></div><div></div></div></td><td><div>string</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The physical address of this location.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>geoLocation</div><div><div><div><div></div></div></div><div></div></div></td><td><div>geoJSON</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The <a href=\"https://geojson.org\">geoJSON</a> Feature object that can be used to locate a Limble location on a Map.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>extraNotificationsEmail</div><div><div><div><div></div></div></div><div></div></div></td><td><div>string</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Include an email address to receive notifications for the location.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>currencyCode</div><div><div><div><div></div></div></div><div></div></div></td><td><div>string</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The ISO code for the currency at this location. For example: \"USD\".</div><div><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","locations"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"55c1fd53-9432-4288-bbfb-3c6608b58c9e","name":"New Location","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n\t\"name\":\"{{newLocationName}}\",\r\n\t\"timezone\":\"America/Denver\",\r\n\t\"phone\":\"8015555555\",\r\n\t\"address\":\"3290 W Mayflower Ave\",\r\n\t\"address2\":\"Lehi, Utah, 84043\",\r\n\t\"weeklyOperationHours\": 40,\r\n    \"geoLocation\": {\r\n        \"type\":\"Feature\",\r\n        \"properties\":{\r\n            \"name\":\"Lehi\"\r\n            },\r\n        \"geometry\":{\r\n            \"type\":\"Point\",\r\n            \"coordinates\":[-111.84906005859375,40.39075031913329]\r\n        }\r\n    }  \r\n}\r\n\r\n"},"url":"https://localhost:3000/v2/locations"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Location","value":"/v2/locations/?locations=2187","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"21","enabled":true},{"key":"ETag","value":"W/\"15-BzDcbW1+ROqo13i1k54/ht51nH4\"","enabled":true},{"key":"Date","value":"Thu, 24 Mar 2022 16:56:25 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"locationID\": \"2187\"\n}"}],"_postman_id":"182fdbee-6882-47c0-9807-ee2c5363fec7"},{"name":"Update Location","event":[{"listen":"prerequest","script":{"id":"87ee70c8-43de-44bd-bfd3-c53c0791738b","exec":["pm.globals.set('newLocationName', `new location - ${Math.floor(Math.random() * 10000000)}`);"],"type":"text/javascript"}},{"listen":"test","script":{"id":"51e80c59-d919-48d2-974e-4ec3858e81be","exec":["pm.test(\"response should be okay to process\", function () { \r","    pm.response.to.not.be.error; \r","    pm.response.to.not.have.jsonBody(\"error\"); \r","});"],"type":"text/javascript"}}],"id":"044a69a7-0c10-4f69-a85b-272e619cd7d1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n\t\"name\": \"NYC\",\r\n\t\"timezone\":\"America/Denver\",\r\n\t\"phone\":\"8015555555\",\r\n\t\"address\":\"3290 W Mayflower Ave\",\r\n\t\"address2\":\"Lehi, Utah, 84043\",\r\n\t\"weeklyOperationHours\": 41,\r\n    \"geoLocation\": {\r\n      \"type\": \"Feature\",\r\n      \"properties\": {\r\n        \"name\": \"Salt Lake City\"\r\n      },\r\n      \"geometry\": {\r\n        \"type\": \"Point\",\r\n        \"coordinates\": [\r\n          -111.9012451171875,\r\n          40.76962180287486\r\n          ]\r\n          }\r\n    },\r\n    \"currencyCode\": \"USD\"\r\n}\r\n\r\n"},"url":"https://localhost:3000/v2/locations/:locationID","description":"<p>This request updates a Location.</p>\n<p><strong>Body parameter descriptions</strong></p>\n<table><tbody><tr><th>Parameter</th><th>Type</th><th>Required?</th><th>Description</th></tr><tr><td><div>name</div><div><div><div><div></div></div></div><div></div></div></td><td><div>String</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The new name of the Location.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>timezone</div><div><div><div><div></div></div></div><div></div></div></td><td><div>string</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The timezone this location resides in. This accepts a standard tz database name, see <a href=\"https://www.php.net/manual/en/timezones.php\">here.</a></div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>phone</div><div><div><div><div></div></div></div><div></div></div></td><td><div>string</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The phone number associated with this location.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>weeklyOperationHours</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Int</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The number of hours your Assets run at this location per week. This is used to help calculate MTBF.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>address</div><div><div><div><div></div></div></div><div></div></div></td><td><div>string</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The physical address of this location.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>address2</div><div><div><div><div></div></div></div><div></div></div></td><td><div>string</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The physical address of this location.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>geoLocation</div><div><div><div><div></div></div></div><div></div></div></td><td><div>geoJSON</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The <a href=\"https://geojson.org\">geoJSON</a> Feature object that can be used to locate a Limble location on a Map.<br />To remove geoLocation from a Limble Location pass an empty object ( <code>{}</code>).</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>currencyCode</div><div><div><div><div></div></div></div><div></div></div></td><td><div>string</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The ISO code for the currency at this location. For example: \"USD\".</div><div><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","locations",":locationID"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>locationID of the location you are updating.</p>\n","type":"text/plain"},"type":"any","value":"163","key":"locationID"}]}},"response":[{"id":"2bf9a6fb-b52a-4c46-87c1-c0f9c98a04f3","name":"Update Location","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n    \"name\": \"NYC\",\r\n    \"timezone\": \"America/Denver\",\r\n    \"phone\": \"8015555555\",\r\n    \"address\": \"3290 W Mayflower Ave\",\r\n    \"address2\": \"Lehi, Utah, 84043\",\r\n    \"weeklyOperationHours\": 41,\r\n    \"geoLocation\": {\r\n        \"type\": \"Feature\",\r\n        \"properties\": {\r\n            \"name\": \"Salt Lake City\"\r\n        },\r\n        \"geometry\": {\r\n            \"type\": \"Point\",\r\n            \"coordinates\": [\r\n                -111.9012451171875,\r\n                40.76962180287486\r\n            ]\r\n        }\r\n    },\r\n    \"currencyCode\": \"USD\"\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://localhost:3000/v2/locations/:locationID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","locations",":locationID"],"variable":[{"key":"locationID","value":"2187","description":"locationID of the location you are updating."}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Thu, 24 Mar 2022 17:01:19 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"044a69a7-0c10-4f69-a85b-272e619cd7d1"},{"name":"Delete Location","event":[{"listen":"prerequest","script":{"id":"87ee70c8-43de-44bd-bfd3-c53c0791738b","exec":[""],"type":"text/javascript"}},{"listen":"test","script":{"id":"51e80c59-d919-48d2-974e-4ec3858e81be","exec":["pm.test(\"response should be okay to process\", function () { \r","    pm.response.to.not.be.error; \r","    pm.response.to.not.have.jsonBody(\"error\"); \r","});"],"type":"text/javascript"}}],"id":"8d0441c4-aef5-44fb-8083-0ddc66d3e097","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"url":"https://localhost:3000/v2/locations/:locationID","description":"<p>This request removes a Location from your Limble account.  This will also remove everything else at this locaiton including Assets, Parts, Tasks, etc.  Be VERY careful using this call.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","locations",":locationID"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>locationID of the location you are removing.</p>\n","type":"text/plain"},"type":"any","value":"{{locationID}}","key":"locationID"}]}},"response":[{"id":"236a6eb2-16b6-4b08-a58c-069fc99298ac","name":"Delete Location","originalRequest":{"method":"DELETE","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"url":{"raw":"https://localhost:3000/v2/locations/:locationID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","locations",":locationID"],"variable":[{"key":"locationID","value":"{{locationID}}","description":"locationID of the location you are removing."}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 18:43:04 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"8d0441c4-aef5-44fb-8083-0ddc66d3e097"}],"id":"7825c8a4-5fbd-4e39-b7e3-351e2475de79","_postman_id":"7825c8a4-5fbd-4e39-b7e3-351e2475de79","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Parts","item":[{"name":"Images","item":[{"name":"Add Part Image","event":[{"listen":"prerequest","script":{"id":"4f131dce-c4d2-4a84-bcf6-8e4b8142be36","exec":[""],"type":"text/javascript"}},{"listen":"test","script":{"id":"c62c2495-bc9c-4428-b2a5-5a06fa631ffa","exec":["pm.test(\"response is created\", () => {","    pm.response.to.have.status(200);","});"],"type":"text/javascript"}}],"id":"c70430ef-20e1-4d50-b3c3-06166765b375","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"formdata","formdata":[{"key":"image","type":"file","src":"/C:/Users/jeffbabb/Pictures/heic1509a.jpg"}]},"url":"https://localhost:3000/v2/parts/:partID/image","description":"<p>This request adds the main image for a Part.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","parts",":partID","image"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>partID of the part you are adding an image to.</p>\n","type":"text/plain"},"type":"any","value":"{{partID}}","key":"partID"}]}},"response":[{"id":"7e93f660-5983-47a9-b329-e335adc610ae","name":"Add Part Image","originalRequest":{"method":"PUT","header":[],"body":{"mode":"formdata","formdata":[{"key":"image","type":"file","src":"4k-wallpaper-background-beautiful-853199.jpg"}]},"url":{"raw":"https://localhost:3000/v2/parts/:partID/image","protocol":"https","host":["localhost"],"port":"3000","path":["v2","parts",":partID","image"],"variable":[{"key":"partID","value":"{{partID}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Wed, 28 Aug 2019 04:16:40 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"c70430ef-20e1-4d50-b3c3-06166765b375"},{"name":"Delete Part Image","event":[{"listen":"prerequest","script":{"id":"87ee70c8-43de-44bd-bfd3-c53c0791738b","exec":[""],"type":"text/javascript"}},{"listen":"test","script":{"id":"51e80c59-d919-48d2-974e-4ec3858e81be","exec":["pm.test(\"response is created\", () => {","    pm.response.to.have.status(200);","});","",""],"type":"text/javascript"}}],"id":"2496dbcd-e1cd-460d-87d0-6999f71d46bd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"url":"https://localhost:3000/v2/parts/:partID/image","description":"<p>This request removes the main image from a Part.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","parts",":partID","image"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>partID of the part you are removing the image for.</p>\n","type":"text/plain"},"type":"any","value":"{{partID}}","key":"partID"}]}},"response":[{"id":"2e895464-0437-442c-ad62-07b6ffd623c8","name":"Delete Part Image","originalRequest":{"method":"DELETE","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"url":{"raw":"https://localhost:3000/v2/parts/:partID/image","protocol":"https","host":["localhost"],"port":"3000","path":["v2","parts",":partID","image"],"variable":[{"key":"partID","value":"{{partID}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Wed, 28 Aug 2019 04:16:58 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"2496dbcd-e1cd-460d-87d0-6999f71d46bd"}],"id":"97ee25ce-afb5-4d39-8234-5e62852a7006","event":[{"listen":"prerequest","script":{"id":"2123abe3-f22f-4cbe-958b-8acfb581f467","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"a22f8ae7-44a7-45e6-9f64-3d4f1a2b8956","type":"text/javascript","exec":[""]}}],"_postman_id":"97ee25ce-afb5-4d39-8234-5e62852a7006","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Categories","item":[{"name":"Create Part Category","event":[{"listen":"prerequest","script":{"id":"87ee70c8-43de-44bd-bfd3-c53c0791738b","exec":["pm.globals.set('categoryName', `new category - ${Math.floor(Math.random() * 10000000)}`);"],"type":"text/javascript"}},{"listen":"test","script":{"id":"51e80c59-d919-48d2-974e-4ec3858e81be","exec":["const categoryID = pm.response.json().categoryID;","","pm.test(\"response is created\", () => {","    pm.response.to.have.status(201);","});","","pm.test(\"location header is valid\", () => {","    const locationHeader = postman.getResponseHeader('Location')","    pm.expect(locationHeader).to.eql(`/v2/parts/categories/?categories=${categoryID}`);","});","","pm.globals.set('categoryID', categoryID);",""],"type":"text/javascript"}}],"id":"c206920f-3a46-4033-ac78-73137bd04dd4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"name\": \"{{categoryName}}\"\n}"},"url":"https://localhost:3000/v2/parts/categories/","description":"<p>Creates a part category to help you organize your parts.</p>\n<table>\n    <thead>\n        <tr>\n            <th>Parameter</th>\n            <th>Type</th>\n            <th>Required?</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>name</td>\n            <td>string</td>\n            <td>Required</td>\n            <td>The name of your new part category (i.e. \"Lawn Mower Parts\")</td>\n        </tr>\n    </tbody>\n</table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","parts","categories",""],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"4adb02d7-9c5c-46b3-904d-5c20992181a4","name":"Create Part Category","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"name\": \"{{categoryName}}\"\n}"},"url":"https://localhost:3000/v2/parts/categories/"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Location","value":"/v2/parts/categories/?categories=21","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"17","enabled":true},{"key":"ETag","value":"W/\"11-aAASb5XhPVZikO+4zEsV9uFUzOo\"","enabled":true},{"key":"Date","value":"Wed, 28 Aug 2019 04:15:30 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"categoryID\": 21\n}"}],"_postman_id":"c206920f-3a46-4033-ac78-73137bd04dd4"},{"name":"Get Categories","event":[{"listen":"prerequest","script":{"id":"87ee70c8-43de-44bd-bfd3-c53c0791738b","exec":[""],"type":"text/javascript","packages":{}}},{"listen":"test","script":{"id":"51e80c59-d919-48d2-974e-4ec3858e81be","exec":["pm.test(\"response is created\", () => {","    pm.response.to.have.status(200);","});",""],"type":"text/javascript","packages":{}}}],"id":"06d126bd-8ef0-4e56-b44a-e86a5c74a5e7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"name\": \"Electronics\"\n}"},"url":"https://localhost:3000/v2/parts/categories/","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","parts","categories",""],"host":["localhost"],"query":[{"disabled":true,"description":{"content":"<p>This parameter is used to only get specific part categories. This parameter accepts a comma delimited list of categoryIDs.</p>\n","type":"text/plain"},"key":"categories","value":"1"},{"disabled":true,"description":{"content":"<p>This parameter is used to string search part categories names either partial or full name with the wildcard %.</p>\n","type":"text/plain"},"key":"name","value":"Electronics"}],"variable":[]}},"response":[{"id":"1dfe87b2-641b-4930-af6a-db4ef95d7dda","name":"Get Categories","originalRequest":{"method":"GET","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"name\": \"Test\"\n}"},"url":{"raw":"https://localhost:3000/v2/parts/categories/","protocol":"https","host":["localhost"],"port":"3000","path":["v2","parts","categories",""],"query":[{"key":"categories","value":"1","description":"This parameter is used to only get specific part categories. This parameter accepts a comma delimited list of categoryIDs.","disabled":true},{"key":"name","value":"Electronics","description":"This parameter is used to string search part categories names either partial or full name with the wildcard %.","type":"text","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"638","enabled":true},{"key":"ETag","value":"W/\"27e-q+1bysRMA/hkDxHTj0i65Q4X2No\"","enabled":true},{"key":"Date","value":"Wed, 28 Aug 2019 04:15:39 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"categoryID\": 1,\n        \"name\": \"Electronics\"\n    }\n]"}],"_postman_id":"06d126bd-8ef0-4e56-b44a-e86a5c74a5e7"},{"name":"Update Part Category","event":[{"listen":"prerequest","script":{"id":"87ee70c8-43de-44bd-bfd3-c53c0791738b","exec":["pm.globals.set('newCategoryName', `new category name - ${Math.floor(Math.random() * 10000000)}`);"],"type":"text/javascript"}},{"listen":"test","script":{"id":"51e80c59-d919-48d2-974e-4ec3858e81be","exec":["pm.test(\"response is created\", () => {","    pm.response.to.have.status(200);","});",""],"type":"text/javascript"}}],"id":"2c224b6c-2d28-4f4d-b400-216b09e4c674","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"name\": \"Filters\"\n}"},"url":"https://localhost:3000/v2/parts/categories/:categoryID","description":"<p>This request updates a Part Category's name.</p>\n<table>\n    <thead>\n        <tr>\n            <th>Parameter</th>\n            <th>Type</th>\n            <th>Required?</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>name</td>\n            <td>string</td>\n            <td>Required</td>\n            <td>The name of your new part category (i.e. \"Filters\")</td>\n        </tr>\n    </tbody>\n</table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","parts","categories",":categoryID"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>categoryID of the category you wish to update.</p>\n","type":"text/plain"},"type":"any","value":"{{categoryID}}","key":"categoryID"}]}},"response":[{"id":"52bab41f-28f9-45ba-afe8-c9b2947a60d4","name":"Update Part Category","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"name\": \"Te'st\"\n}"},"url":{"raw":"https://localhost:3000/v2/parts/categories/:categoryID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","parts","categories",":categoryID"],"variable":[{"key":"categoryID","value":"{{categoryID}}","description":"categoryID of the category you wish to update."}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Wed, 28 Aug 2019 04:16:02 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"2c224b6c-2d28-4f4d-b400-216b09e4c674"},{"name":"Delete Part Category","event":[{"listen":"prerequest","script":{"id":"87ee70c8-43de-44bd-bfd3-c53c0791738b","exec":["pm.globals.set('newLocationName', `new location - ${Math.floor(Math.random() * 10000000)}`);"],"type":"text/javascript"}},{"listen":"test","script":{"id":"51e80c59-d919-48d2-974e-4ec3858e81be","exec":["pm.test(\"response is created\", () => {","    pm.response.to.have.status(200);","});",""],"type":"text/javascript"}}],"id":"0ab08d37-6e3e-4e80-b1c4-afe3adc778ce","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"url":"https://localhost:3000/v2/parts/categories/:categoryID","description":"<p>This request will remove the Part Category from all Parts and from possible Categories.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","parts","categories",":categoryID"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>categoryID of the category you wish to remove.</p>\n","type":"text/plain"},"type":"any","value":"{{categoryID}}","key":"categoryID"}]}},"response":[{"id":"2ff49966-d6cd-4902-89b3-ffd4539c0cd9","name":"Delete Part Category","originalRequest":{"method":"DELETE","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"url":{"raw":"https://localhost:3000/v2/parts/categories/:categoryID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","parts","categories",":categoryID"],"variable":[{"key":"categoryID","value":"{{categoryID}}","description":"categoryID of the category you wish to remove."}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Wed, 28 Aug 2019 04:16:19 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"0ab08d37-6e3e-4e80-b1c4-afe3adc778ce"}],"id":"bd6c78e4-4902-4250-bd6c-551115374645","_postman_id":"bd6c78e4-4902-4250-bd6c-551115374645","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Fields","item":[{"name":"Part Fields","event":[{"listen":"test","script":{"id":"e78cf112-9342-4044-95c8-d1e7bdac989d","exec":["// example using pm.response.to.be*\r","pm.test(\"response must be valid and have a body\", function () {\r","     // assert that the status code is 200\r","     pm.response.to.be.ok; // info, success, redirection, clientError,  serverError, are other variants\r","     // assert that the response has a valid JSON body\r","     pm.response.to.be.withBody;\r","     pm.response.to.be.json; // this assertion also checks if a body  exists, so the above check is not needed\r","});"],"type":"text/javascript","packages":{}}}],"id":"f404ccb6-988a-4dfb-916d-4bafd6a1d5ce","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/parts/fields/","description":"<p>This request gets detailed information about custom set Part Fields.</p>\n<p>This request will return an array of objects that have a file name and a link you can use to download that image. All links are only valid for 15 minutes, a new call will generate a new link.</p>\n<p><strong>Note:</strong> this endpoint supports pagination. Please refer to the <a href=\"#pagination\"><strong>Pagination</strong></a> section for more information.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","parts","fields",""],"host":["localhost"],"query":[{"disabled":true,"description":{"content":"<p>This parameter is used to only get specific fields by ID. This parameter expects a comma delimited list of fieldIDs.</p>\n","type":"text/plain"},"key":"fields","value":"1,2"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get specific field by name. This parameter expects a string full name of a field or partial name with the wildcard %.</p>\n","type":"text/plain"},"key":"name","value":"%text%"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get part fields for a specific Part. This parameter expects a partID.</p>\n","type":"text/plain"},"key":"parts","value":"2992"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get part fields for parts that were last edited after the unix timestamp passed into the start parameter.</p>\n","type":"text/plain"},"key":"start","value":"1580016200"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get parts fields for part fields that were last edited <em>before</em> the unix timestamp passed into the end parameter.</p>\n","type":"text/plain"},"key":"end","value":"1610602900"},{"disabled":true,"description":{"content":"<p>This parameter is a cursor that selects what fieldID you want to start receiving results at. e.g. passing 137 here will only get you vendor fields with an id greater than 137.</p>\n","type":"text/plain"},"key":"cursor","value":"0"},{"disabled":true,"description":{"content":"<p>This parameter is a result limiter. The default is set to return no more than 100 results at one time.</p>\n","type":"text/plain"},"key":"limit","value":"5"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get specific field by value. This parameter expects a string full name of a field or partial name with the wildcard %.</p>\n","type":"text/plain"},"key":"value","value":"%3%"},{"disabled":true,"description":{"content":"<p>This parameter is used to paginate results based on the limit. Refer to Pagination section for more information.</p>\n","type":"text/plain"},"key":"locations","value":"38469,38472"},{"disabled":true,"description":{"content":"<p>This parameter is used to get part fields by their valueID. This parameter expects a comma delimited list of Value IDs.</p>\n","type":"text/plain"},"key":"values","value":"27"},{"disabled":true,"key":"page","value":"1"}],"variable":[]}},"response":[{"id":"503f51ef-83b3-4541-996e-8308b5549900","name":"Part Fields","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/parts/fields/?parts=1&start=1580016200&limit=5&locations=38469,38472","protocol":"https","host":["localhost"],"port":"3000","path":["v2","parts","fields",""],"query":[{"key":"fields","value":"27,28","description":"This parameter is used to only get specific fields by ID. This parameter expects a comma delimited list of fieldIDs.","disabled":true},{"key":"name","value":"%Spec%","description":"This parameter is used to only get specific field by name. This parameter expects a string full name of a field or partial name with the wildcard %.","disabled":true},{"key":"parts","value":"1","description":"This parameter is used to only get part fields for a specific Part. This parameter expects a partID."},{"key":"start","value":"1580016200","description":"This parameter is used to only get part fields for parts that were last edited after the unix timestamp passed into the start parameter."},{"key":"end","value":"1610602900","description":"This parameter is used to only get parts fields for part fields that were last edited *before* the unix timestamp passed into the end parameter.","disabled":true},{"key":"cursor","value":"0","description":"This parameter is a cursor that selects what fieldID you want to start receiving results at. e.g. passing 137 here will only get you vendor fields with an id greater than 137.","disabled":true},{"key":"limit","value":"5","description":"This parameter is a result limiter. The default is set to return no more than 100 results at one time."},{"key":"value","value":"%3%","description":"This parameter is used to only get specific field by value. This parameter expects a string full name of a field or partial name with the wildcard %.","disabled":true},{"key":"locations","value":"38469,38472","description":"This parameter is used to paginate results based on the limit. Refer to Pagination section for more information."},{"key":"values","value":"27","description":"This parameter is used to get part fields by their valueID. This parameter expects a comma delimited list of Value IDs.","disabled":true},{"key":"page","value":"1","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 24 Jun 2024 16:46:19 GMT","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Transfer-Encoding","value":"chunked","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"vary","value":"Accept-Encoding","enabled":true},{"key":"content-security-policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"x-dns-prefetch-control","value":"off","enabled":true},{"key":"expect-ct","value":"max-age=0","enabled":true},{"key":"x-frame-options","value":"SAMEORIGIN","enabled":true},{"key":"strict-transport-security","value":"max-age=31536000; includeSubDomains; preload","enabled":true},{"key":"x-download-options","value":"noopen","enabled":true},{"key":"x-content-type-options","value":"nosniff","enabled":true},{"key":"x-permitted-cross-domain-policies","value":"none","enabled":true},{"key":"referrer-policy","value":"no-referrer","enabled":true},{"key":"x-xss-protection","value":"0","enabled":true},{"key":"api-feedback-link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"x-ratelimit-limit","value":"4000","enabled":true},{"key":"x-ratelimit-minute-limit","value":"360","enabled":true},{"key":"x-ratelimit-remaining","value":"3987","enabled":true},{"key":"x-ratelimit-first-call","value":"1719246455","enabled":true},{"key":"x-ratelimit-minute-remaining","value":"359","enabled":true},{"key":"x-ratelimit-minute-first-call","value":"1719247579","enabled":true},{"key":"etag","value":"W/\"1dc-Liiyn9VmUZnOQSFvtR72eHTC5vc\"","enabled":true},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0","enabled":true},{"key":"Content-Encoding","value":"gzip","enabled":true},{"key":"CF-Cache-Status","value":"DYNAMIC","enabled":true},{"key":"Server","value":"cloudflare","enabled":true},{"key":"CF-RAY","value":"898e317e69d18389-SEA","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"fieldID\": 16706,\n        \"partID\": 1,\n        \"fieldName\": \"newFields-Part\",\n        \"value\": null,\n        \"valueID\": 6048543,\n        \"fieldType\": \"Text\",\n        \"lastEdited\": 1718405951,\n        \"locationID\": 38469,\n        \"files\": []\n    },\n    {\n        \"fieldID\": 30021,\n        \"partID\": 1,\n        \"fieldName\": \"height\",\n        \"value\": null,\n        \"valueID\": 11328670,\n        \"fieldType\": \"Number\",\n        \"lastEdited\": 1718405951,\n        \"locationID\": 38469,\n        \"files\": []\n    },\n    {\n        \"fieldID\": 30022,\n        \"partID\": 1,\n        \"fieldName\": \"width\",\n        \"value\": null,\n        \"valueID\": 11328671,\n        \"fieldType\": \"Number\",\n        \"lastEdited\": 1718405951,\n        \"locationID\": 38469,\n        \"files\": []\n    }\n]"}],"_postman_id":"f404ccb6-988a-4dfb-916d-4bafd6a1d5ce"},{"name":"Part Suggested Fields","event":[{"listen":"test","script":{"id":"e78cf112-9342-4044-95c8-d1e7bdac989d","exec":["// example using pm.response.to.be*\r","pm.test(\"response must be valid and have a body\", function () {\r","     // assert that the status code is 200\r","     pm.response.to.be.ok; // info, success, redirection, clientError,  serverError, are other variants\r","     // assert that the response has a valid JSON body\r","     pm.response.to.be.withBody;\r","     pm.response.to.be.json; // this assertion also checks if a body  exists, so the above check is not needed\r","});"],"type":"text/javascript","packages":{}}}],"id":"d038dc11-ef3a-41b5-a58e-386fee962879","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/parts/fields/suggested","description":"<p>This request gets all possible fields a Part can pick from when deciding which fields it should have.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","parts","fields","suggested"],"host":["localhost"],"query":[{"disabled":true,"description":{"content":"<p>This parameter can be used to get a single Part Fields or a list of Part Fields in a comma-separated list.</p>\n","type":"text/plain"},"key":"fields","value":"1,2"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get specific field by name. This parameter expects a string full name of a field or partial name with the wildcard %.</p>\n","type":"text/plain"},"key":"name","value":"%text%"},{"disabled":true,"description":{"content":"<p>This parameter is a cursor that selects what fieldID you want to start receiving results at. e.g. passing 137 here will only get you vendor fields with an id greater than 137.</p>\n","type":"text/plain"},"key":"cursor","value":"0"},{"disabled":true,"description":{"content":"<p>This parameter is a result limiter. The default is set to return no more than 100 results at one time.</p>\n","type":"text/plain"},"key":"limit","value":"100"}],"variable":[]}},"response":[{"id":"29c3053d-22a7-4a60-bb97-ed8345df7438","name":"Vendor Suggested Fields","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/vendors/fields/suggested","protocol":"https","host":["localhost"],"port":"3000","path":["v2","vendors","fields","suggested"],"query":[{"key":"fields","value":"1,2","disabled":true},{"key":"name","value":"%pic%","disabled":true},{"key":"cursor","value":"0","disabled":true},{"key":"limit","value":"100","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"242","enabled":true},{"key":"ETag","value":"W/\"f2-G6gWdrt8PFn9Fn268CGZJqUbtSM\"","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 17:03:14 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"fieldID\": 1,\n        \"fieldType\": \"Pictures\",\n        \"fieldName\": \"pic\",\n        \"locationID\": 330\n    },\n    {\n        \"fieldID\": 2,\n        \"fieldType\": \"Text\",\n        \"fieldName\": \"testText\",\n        \"locationID\": 330\n    }\n]"}],"_postman_id":"d038dc11-ef3a-41b5-a58e-386fee962879"},{"name":"Update Part Field Value","event":[{"listen":"test","script":{"id":"4a91e0c8-3b8a-423b-8ea0-b546128d1a69","exec":["pm.test(\"response should be okay to process\", function () { ","    pm.response.to.not.be.error; ","    pm.response.to.not.have.jsonBody(\"error\"); ","});"],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"8f0fa520-fb95-4ea8-89ba-39d577e8ff92","exec":["var fieldValue = () => `part field value - ${Math.floor(Math.random() * 10000000)}`;","pm.globals.set('partFieldValue', fieldValue());"],"type":"text/javascript"}}],"id":"fbe1de74-0fc0-483a-8ceb-b5409119b040","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"value\": \"new value\"\n}"},"url":"https://localhost:3000/v2/parts/fields/:valueID","description":"<p>This request updates a Part's field value.</p>\n<table>\n    <thead>\n        <tr>\n            <th>Parameter</th>\n            <th>Type</th>\n            <th>Required?</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>value</td>\n            <td>Depends on fieldType</td>\n            <td>Required</td>\n            <td>The value that will be written to the field. \"value\" must correspond to the fieldType of the field. For example, if the field is a \"number\" fieldType, then \"value\" must be a number.\n            </td>\n        </tr>\n    </tbody>\n</table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","parts","fields",":valueID"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"223","key":"valueID"}]}},"response":[{"id":"0e1a89ee-73d0-4a01-ab95-4d1ad0d95edc","name":"Update Vendor Field Value","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"value\": \"new value\"\n}"},"url":{"raw":"https://localhost:3000/v2/vendors/fields/:valueID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","vendors","fields",":valueID"],"variable":[{"key":"valueID","value":"2"}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 17:04:59 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"fbe1de74-0fc0-483a-8ceb-b5409119b040"},{"name":"Attach Field to Part","event":[{"listen":"test","script":{"id":"55c168ce-27f4-48e5-a09d-e46600793038","exec":["const valueID = pm.response.json().valueID;","","pm.test(\"response is created\", () => {","    pm.response.to.have.status(201);","});","","pm.globals.set('partValueID', valueID);","",""],"type":"text/javascript"}}],"id":"b032c449-877c-46fa-997a-5a3b8868407e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"Accept","type":"text","value":"text/html"}],"body":{"mode":"raw","raw":"{\n\t\"fieldID\": 36,\n\t\"locationID\":163\n}"},"url":"https://localhost:3000/v2/parts/:partID/fields","description":"<p>This request attaches a Suggested Field to a Part.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","parts",":partID","fields"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"1030","key":"partID"}]}},"response":[{"id":"a0372293-4f70-48ea-9c55-c4d641378a3e","name":"Attach Field to Vendor","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"Accept","type":"text","value":"text/html"}],"body":{"mode":"raw","raw":"{\n\t\"fieldID\": {{vendorFieldID}},\n\t\"locationID\": {{locationID}}\n}"},"url":{"raw":"https://localhost:3000/v2/vendors/:vendorID/fields","protocol":"https","host":["localhost"],"port":"3000","path":["v2","vendors",":vendorID","fields"],"variable":[{"key":"vendorID","value":"1"}]}},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"15","enabled":true},{"key":"ETag","value":"W/\"f-O6COzeNxo43irGNOLoNFfYmHKR0\"","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 17:05:30 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"valueID\": \"4\"\n}"}],"_postman_id":"b032c449-877c-46fa-997a-5a3b8868407e"},{"name":"New Part Suggested Field","event":[{"listen":"prerequest","script":{"id":"4f131dce-c4d2-4a84-bcf6-8e4b8142be36","exec":["var fieldName = () => `new part field - ${Math.floor(Math.random() * 10000000)}`;","pm.globals.set('newPartFieldName', fieldName());",""],"type":"text/javascript"}},{"listen":"test","script":{"id":"c62c2495-bc9c-4428-b2a5-5a06fa631ffa","exec":["const partFieldID = pm.response.json().fieldID;","","pm.test(\"response is created\", () => {","    pm.response.to.have.status(201);","});","","pm.test(\"location header is valid\", () => {","    const locationHeader = postman.getResponseHeader('Location')","    pm.expect(locationHeader).to.eql(`/v2/parts/fields/?fields=${partFieldID}`);","})","","pm.globals.set('partFieldID', partFieldID);",""],"type":"text/javascript"}}],"id":"a686a23b-ad76-4ddc-bd83-20d73dc7cc94","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"locationID\": 163,\n\t\"name\": \"Manufacturer Part Number\",\n\t\"fieldTypeID\": 1\n}\n"},"url":"https://localhost:3000/v2/parts/fields/","description":"<p>This request adds a new Field to the list of Suggested Fields that can later be attached to Parts.</p>\n<table>\n    <thead>\n        <tr>\n            <th>Parameter</th>\n            <th>Type</th>\n            <th>Required?</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>locationID</td>\n            <td>Int</td>\n            <td>Required</td>\n            <td>The location ID of the Location to add the new Field to.</td>\n        </tr>\n        <tr>\n            <td>name</td>\n            <td>String</td>\n            <td>Required</td>\n            <td>The name of the new Field. <b>Some custom field names such as \"Part Name\" are not allowed and reserved for internal use. This will result in a 409 error.</b></td>\n        </tr>\n        <tr>\n            <td>fieldType</td>\n            <td>Int</td>\n            <td>Required</td>\n            <td>The type of the new Field. You can choose from Text (1), Date (2), Pictures (3), Documents (4), Number (5), Currency (6).</td>\n        </tr>\n    </tbody>\n</table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","parts","fields",""],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"85f1d56c-2cf5-447b-bc74-6b674e64474f","name":"New Vendor Suggested Field","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"locationID\": {{locationID}},\n\t\"name\": \"{{newVendorFieldName}}\",\n\t\"fieldTypeID\": 1\n}\n"},"url":"https://localhost:3000/v2/vendors/fields/"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Location","value":"/v2/vendors/fields/?fields=5","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"15","enabled":true},{"key":"ETag","value":"W/\"f-x/3revtzXcVCduyacFX2oXn1T0s\"","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 21:56:19 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"fieldID\": \"5\"\n}"}],"_postman_id":"a686a23b-ad76-4ddc-bd83-20d73dc7cc94"},{"name":"Delete Part Field","id":"408a2aab-5323-40ef-94da-f3e11d55612c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://localhost:3000/v2/parts/fields/:valueID","description":"<p>This request deletes a custom field attached to a Part.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","parts","fields",":valueID"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>valueID of the field you are removing.</p>\n","type":"text/plain"},"type":"any","value":"172","key":"valueID"}]}},"response":[{"id":"ca5c1bea-e828-44a7-bcc6-1eb91048df24","name":"Delete Part Field","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://localhost:3000/v2/parts/fields/:valueID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","parts","fields",":valueID"],"variable":[{"key":"valueID","value":"172","description":"valueID of the field you are removing."}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Mon, 12 Jul 2021 18:02:53 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"408a2aab-5323-40ef-94da-f3e11d55612c"}],"id":"38fb7161-741f-4f5c-92ef-1e8202753f7a","event":[{"listen":"prerequest","script":{"id":"4f4c4959-0790-4c02-be6e-209772a1afba","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"a4dd90ef-b55d-43a4-bb9e-7ed9e93b2997","type":"text/javascript","exec":[""]}}],"_postman_id":"38fb7161-741f-4f5c-92ef-1e8202753f7a","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Logs","item":[{"name":"Part Logs","id":"91d43ab9-04c4-485f-ac6c-5e34bc25783a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/parts/:partID/logs","description":"<p>This request returns the log entries for a part.</p>\n<p><strong>Note:</strong> this endpoint supports pagination. Please refer to the <a href=\"#pagination\"><b>Pagination</b></a> section for more information.</p>\n<p><b>Return data description</b></p>\n\n<table><tbody><tr><th>Property</th><th>Description</th></tr><tr><td><div>logID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The unique logID of the log.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>dateCreated</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The date the log was created as a UNIX timestamp.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>partID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The partID the log belongs to.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>sourceID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The sourceID of the source of the log. The sourceID can be as follows:<br />1: Part name was changed.<br />2: Part Number was changed.<br />3: Parts were added/removed.<br />4: Manual log entry.<br />5: Parts were used on a Task.<br />6: Part Price was changed.<br />7: Stale threshold was manually changed.<br />8: Part Qty threshold was manually changed.<br />11: Part Qty threshold status was changed.<br />13: Part Location was changed.<br />14: Part Vendor was changed.<br />15: Part Image was changed.<br />18: Parts were received on a Bill.<br />19: Part Maximum Part Qty was manually changed.<br />20: Some of a PO Item Received Qty was used during manual Part Qty adjustment</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>logEntry</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The log entry for the part.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>userID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The ID of the user that created the log.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>associatedID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The ID of the item associated with this log, if any. Current examples include:<br />sourceID: 5, associatedID type: Task<br />sourceID: 18, associatedID type: Bill<br />sourceID: 20, associatedID type: Bill</div><div><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","parts",":partID","logs"],"host":["localhost"],"query":[{"disabled":true,"description":{"content":"<p>This parameter is used to only get specific logs. This parameter accepts a comma delimited list of logIDs.</p>\n","type":"text/plain"},"key":"logs","value":"21524"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get logs for a specific sourceID. This parameter accepts a comma delimited list of sourceIDs.</p>\n","type":"text/plain"},"key":"sources","value":"4"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get logs created by specific users. This parameter accepts a comma delimited list of userIDs.</p>\n","type":"text/plain"},"key":"users","value":"340"},{"disabled":true,"description":{"content":"<p>This is a parameter used to string search for manual log entry (sourceID: 4). This parameter expects a string with the wildcard %.</p>\n","type":"text/plain"},"key":"logEntry","value":"%new%"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get logs that were last edited after the unix timestamp passed into the start parameter. </p>\n","type":"text/plain"},"key":"start","value":"1663018000"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get logs that were last edited before the unix timestamp passed into the end parameter.</p>\n","type":"text/plain"},"key":"end","value":"1663018900"},{"disabled":true,"description":{"content":"<p>This parameter is used to paginate results based on the limit. Refer to Pagination section for more information.</p>\n","type":"text/plain"},"key":"page","value":"1"},{"disabled":true,"description":{"content":"<p>This parameter is a result limiter. The default is set to return no more than 100 results at one time.</p>\n","type":"text/plain"},"key":"limit","value":"10"},{"disabled":true,"description":{"content":"<p>This parameter is a cursor that selects what ID you want to start receiving results at. </p>\n","type":"text/plain"},"key":"cursor","value":""}],"variable":[{"description":{"content":"<p>The ID of the part you need logs for.</p>\n","type":"text/plain"},"type":"any","value":"1","key":"partID"}]}},"response":[{"id":"7f22dbe6-476a-4b35-ad7f-7e14c15cd12b","name":"Part Logs","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/parts/:partID/logs?logs=21524&users=340&logEntry=%new%&start=1663018000&end=1663018900&limit=10","protocol":"https","host":["localhost"],"port":"3000","path":["v2","parts",":partID","logs"],"query":[{"key":"logs","value":"21524","description":"This parameter is used to only get specific logs. This parameter accepts a comma delimited list of logIDs."},{"key":"sources","value":"4","description":"This parameter is used to only get logs for a specific sourceID. This parameter accepts a comma delimited list of sourceIDs.","disabled":true},{"key":"users","value":"340","description":"This parameter is used to only get logs created by specific users. This parameter accepts a comma delimited list of userIDs."},{"key":"logEntry","value":"%new%","description":"This is a parameter used to string search for manual log entry (sourceID: 4). This parameter expects a string with the wildcard %."},{"key":"start","value":"1663018000","description":"This parameter is used to only get logs that were last edited after the unix timestamp passed into the start parameter. "},{"key":"end","value":"1663018900","description":"This parameter is used to only get logs that were last edited before the unix timestamp passed into the end parameter."},{"key":"page","value":"1","description":"This parameter is used to paginate results based on the limit. Refer to Pagination section for more information.","disabled":true},{"key":"limit","value":"10","description":"This parameter is a result limiter. The default is set to return no more than 100 results at one time."},{"key":"cursor","value":"","description":"This parameter is a cursor that selects what ID you want to start receiving results at. ","disabled":true}],"variable":[{"key":"partID","value":"1","description":"The ID of the part you need logs for."}]}},"_postman_previewlanguage":"Text","header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"91d43ab9-04c4-485f-ac6c-5e34bc25783a"},{"name":"New Part Log","id":"b1642923-5708-4689-854a-073f05702f32","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"userID\": 342,\r\n    \"logEntry\": \"Creating a log\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/parts/:partID/logs","description":"<p>This request creates a manual log entry for a part.</p>\n<p>This request adds a new Field to the list of Suggested Fields that can later be attached to Parts.</p>\n<p></p><table><tbody><tr><th>Parameter</th><th>Type</th><th>Required?</th><th>Description</th></tr><tr><td>userID</td><td>Int</td><td>Required</td><td>The ID of the user creating the log.</td></tr><tr><td>logEntry</td><td>String</td><td>Required</td><td>Details of the log.</td></tr></tbody></table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","parts",":partID","logs"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"159","key":"partID"}]}},"response":[{"id":"c75039ca-1a20-41ec-a3cc-aee305a1570e","name":"New Part Log","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"userID\": 341,\r\n    \"logEntry\": \"Creating a log\"\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://localhost:3000/v2/parts/:partID/logs","protocol":"https","host":["localhost"],"port":"3000","path":["v2","parts",":partID","logs"],"variable":[{"key":"partID","value":"5289"}]}},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 17 May 2023 18:04:47 GMT","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"15","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"X-RateLimit-Limit","value":"1000","enabled":true},{"key":"X-RateLimit-Minute-Limit","value":"240","enabled":true},{"key":"X-RateLimit-Remaining","value":"994","enabled":true},{"key":"X-RateLimit-First-Call","value":"1684346312","enabled":true},{"key":"X-RateLimit-Minute-Remaining","value":"239","enabled":true},{"key":"X-RateLimit-Minute-First-Call","value":"1684346687","enabled":true},{"key":"ETag","value":"W/\"f-L8pF5VBYcObKeYSS7+ZfC8q2L/o\"","enabled":true},{"key":"X-CDN","value":"Imperva","enabled":true},{"key":"X-Iinfo","value":"14-16477094-16387295 sNNN RT(1684346311771 375254) q(0 0 0 -1) r(1 1) U6","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"logID\": 43002\n}"}],"_postman_id":"b1642923-5708-4689-854a-073f05702f32"},{"name":"Update Part Log","id":"b7a0407b-3d27-4cff-bc7c-0d87f770e45d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"logEntry\": \"Changing log\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/parts/logs/:logID","description":"<p>This requests updates a manual log entry. Only logs with a sourceID=4 can be updated.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","parts","logs",":logID"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>The ID of the log to be updated.</p>\n","type":"text/plain"},"type":"any","value":"21551","key":"logID"}]}},"response":[{"id":"155bedf5-87c9-404f-812f-d13bdf98dceb","name":"Update Part Log","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"logEntry\": \"Changing log\"\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://localhost:3000/v2/parts/logs/:logID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","parts","logs",":logID"],"variable":[{"key":"logID","value":"21616","description":"The ID of the log to be updated."}]}},"_postman_previewlanguage":"Text","header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"b7a0407b-3d27-4cff-bc7c-0d87f770e45d"},{"name":"Delete Part Log","id":"928643e4-c518-40d0-aa38-191b3dbd2a0d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://localhost:3000/v2/parts/logs/:logID","description":"<p>This request deletes manual log entries (sourceID=4).</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","parts","logs",":logID"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>The ID of the log to be deleted.</p>\n","type":"text/plain"},"type":"any","value":"21524","key":"logID"}]}},"response":[{"id":"b4d2d4cd-dadf-45c1-93bc-9bd65e01c4ac","name":"Delete Part Log","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://localhost:3000/v2/parts/logs/:logID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","parts","logs",":logID"],"variable":[{"key":"logID","value":"21524","description":"The ID of the log to be deleted."}]}},"_postman_previewlanguage":"Text","header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"928643e4-c518-40d0-aa38-191b3dbd2a0d"},{"name":"All Part Logs","id":"c9c96c37-fda1-448c-97d3-35b06566fb08","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/parts/logs","description":"<p>This request returns all part logs across your Limble account.</p>\n<p><strong>Note:</strong> this endpoint supports pagination. Please refer to the <a href=\"#pagination\"><b>Pagination</b></a> section for more information.</p>\n<p><b>Return data description</b></p>\n\n<table><tbody><tr><th>Property</th><th>Description</th></tr><tr><td><div>logID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The unique logID of the log.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>dateCreated</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The date the log was created as a UNIX timestamp.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>partID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The partID the log belongs to.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>sourceID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The sourceID of the source of the log. The sourceID can be as follows:<br />1: Part name was changed.<br />2: Part Number was changed.<br />3: Parts were added/removed.<br />4: Manual log entry.<br />5: Parts were used on a Task.<br />6: Part Price was changed.<br />7: Stale threshold was manually changed.<br />8: Part Qty threshold was manually changed.<br />11: Part Qty threshold status was changed.<br />13: Part Location was changed.<br />14: Part Vendor was changed.<br />15: Part Image was changed.<br />18: Parts were received on a Bill.<br />19: Part Maximum Part Qty was manually changed.<br />20. Some of a PO Item Received Qty was used during manual Part Qty adjustment</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>logEntry</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The log entry for the part.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>userID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The ID of the user that created the log.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>associatedID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The ID of the item associated with this log, if any. Current examples include:<br />sourceID: 5, associatedID type: Task<br />sourceID: 18, associatedID type: Bill<br />sourceID: 20, associatedID type: Bill</div><div><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","parts","logs"],"host":["localhost"],"query":[{"disabled":true,"key":"logs","value":"1"},{"disabled":true,"key":"sources","value":"20"},{"disabled":true,"key":"users","value":""},{"disabled":true,"key":"logEntry","value":""},{"disabled":true,"key":"start","value":""},{"disabled":true,"key":"end","value":""},{"disabled":true,"key":"page","value":"1"},{"disabled":true,"key":"parts","value":""},{"disabled":true,"key":"limit","value":"5"},{"disabled":true,"key":"cursor","value":""}],"variable":[]}},"response":[{"id":"5e2879d0-56a0-4689-adb9-51ce7f997bbe","name":"All Part Logs","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/parts/logs?sources=20","protocol":"https","host":["localhost"],"port":"3000","path":["v2","parts","logs"],"query":[{"key":"logs","value":"1","disabled":true},{"key":"sources","value":"20"},{"key":"users","value":null,"disabled":true},{"key":"logEntry","value":null,"disabled":true},{"key":"start","value":null,"disabled":true},{"key":"end","value":null,"disabled":true},{"key":"page","value":"1","disabled":true},{"key":"parts","value":null,"disabled":true},{"key":"limit","value":"5","disabled":true},{"key":"cursor","value":null,"disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 24 Jun 2024 16:43:44 GMT","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Transfer-Encoding","value":"chunked","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"vary","value":"Accept-Encoding","enabled":true},{"key":"content-security-policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"x-dns-prefetch-control","value":"off","enabled":true},{"key":"expect-ct","value":"max-age=0","enabled":true},{"key":"x-frame-options","value":"SAMEORIGIN","enabled":true},{"key":"strict-transport-security","value":"max-age=31536000; includeSubDomains; preload","enabled":true},{"key":"x-download-options","value":"noopen","enabled":true},{"key":"x-content-type-options","value":"nosniff","enabled":true},{"key":"x-permitted-cross-domain-policies","value":"none","enabled":true},{"key":"referrer-policy","value":"no-referrer","enabled":true},{"key":"x-xss-protection","value":"0","enabled":true},{"key":"api-feedback-link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"x-ratelimit-limit","value":"4000","enabled":true},{"key":"x-ratelimit-minute-limit","value":"360","enabled":true},{"key":"x-ratelimit-remaining","value":"3992","enabled":true},{"key":"x-ratelimit-first-call","value":"1719246455","enabled":true},{"key":"x-ratelimit-minute-remaining","value":"359","enabled":true},{"key":"x-ratelimit-minute-first-call","value":"1719247424","enabled":true},{"key":"etag","value":"W/\"144-KHjJNqLy4+Uac5kkM/Tgopijmoo\"","enabled":true},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0","enabled":true},{"key":"Content-Encoding","value":"gzip","enabled":true},{"key":"CF-Cache-Status","value":"DYNAMIC","enabled":true},{"key":"Set-Cookie","value":"__cf_bm=rcSSndWclR9SnvTJtUYP3jYAs7uJGlAsN4lge1WsDh0-1719247424-1.0.1.1-i8lrZ7onpeqp5rZB1xwi8uP6KkJimd.Zb_9s3cgngLqCsukUNNlLjS5O._xfNOsiRWKzp3vcFZfs9YFVKy5uIQ; path=/; expires=Mon, 24-Jun-24 17:13:44 GMT; domain=.limblecmms.com; HttpOnly; Secure; SameSite=None","enabled":true},{"key":"Server","value":"cloudflare","enabled":true},{"key":"CF-RAY","value":"898e2db26b158389-SEA","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"logID\": 72,\n        \"dateCreated\": 1715279617,\n        \"partID\": 1,\n        \"sourceID\": 20,\n        \"logEntry\": \"1 used from Bill during Manual Qty adjustment.\",\n        \"userID\": 230530,\n        \"associatedID\": 304723\n    },\n    {\n        \"logID\": 102,\n        \"dateCreated\": 1718406015,\n        \"partID\": 2,\n        \"sourceID\": 20,\n        \"logEntry\": \"1 used from Bill during Manual Qty adjustment.\",\n        \"userID\": 230530,\n        \"associatedID\": 323880\n    }\n]"},{"id":"8c7a3df0-c39c-41df-8586-b63a7b11ff10","name":"All Part Logs","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/parts/logs?sources=20&users=230530&start=1715273617&parts=1,2,5&limit=5","protocol":"https","host":["localhost"],"port":"3000","path":["v2","parts","logs"],"query":[{"key":"logs","value":"1","disabled":true},{"key":"sources","value":"20"},{"key":"users","value":"230530"},{"key":"logEntry","value":null,"disabled":true},{"key":"start","value":"1715273617"},{"key":"end","value":null,"disabled":true},{"key":"page","value":"1","disabled":true},{"key":"parts","value":"1,2,5"},{"key":"limit","value":"5"},{"key":"cursor","value":null,"disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 24 Jun 2024 16:47:32 GMT","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Transfer-Encoding","value":"chunked","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"vary","value":"Accept-Encoding","enabled":true},{"key":"content-security-policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"x-dns-prefetch-control","value":"off","enabled":true},{"key":"expect-ct","value":"max-age=0","enabled":true},{"key":"x-frame-options","value":"SAMEORIGIN","enabled":true},{"key":"strict-transport-security","value":"max-age=31536000; includeSubDomains; preload","enabled":true},{"key":"x-download-options","value":"noopen","enabled":true},{"key":"x-content-type-options","value":"nosniff","enabled":true},{"key":"x-permitted-cross-domain-policies","value":"none","enabled":true},{"key":"referrer-policy","value":"no-referrer","enabled":true},{"key":"x-xss-protection","value":"0","enabled":true},{"key":"api-feedback-link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"x-ratelimit-limit","value":"4000","enabled":true},{"key":"x-ratelimit-minute-limit","value":"360","enabled":true},{"key":"x-ratelimit-remaining","value":"3983","enabled":true},{"key":"x-ratelimit-first-call","value":"1719246455","enabled":true},{"key":"x-ratelimit-minute-remaining","value":"359","enabled":true},{"key":"x-ratelimit-minute-first-call","value":"1719247652","enabled":true},{"key":"etag","value":"W/\"144-KHjJNqLy4+Uac5kkM/Tgopijmoo\"","enabled":true},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0","enabled":true},{"key":"Content-Encoding","value":"gzip","enabled":true},{"key":"CF-Cache-Status","value":"DYNAMIC","enabled":true},{"key":"Server","value":"cloudflare","enabled":true},{"key":"CF-RAY","value":"898e3342a8d88389-SEA","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"logID\": 72,\n        \"dateCreated\": 1715279617,\n        \"partID\": 1,\n        \"sourceID\": 20,\n        \"logEntry\": \"1 used from Bill during Manual Qty adjustment.\",\n        \"userID\": 230530,\n        \"associatedID\": 304723\n    },\n    {\n        \"logID\": 102,\n        \"dateCreated\": 1718406015,\n        \"partID\": 2,\n        \"sourceID\": 20,\n        \"logEntry\": \"1 used from Bill during Manual Qty adjustment.\",\n        \"userID\": 230530,\n        \"associatedID\": 323880\n    }\n]"}],"_postman_id":"c9c96c37-fda1-448c-97d3-35b06566fb08"}],"id":"359a0e32-a959-42c2-8a07-f4f0876c6160","_postman_id":"359a0e32-a959-42c2-8a07-f4f0876c6160","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Purchasables","item":[{"name":"Get Purchasables","id":"6f7a6bce-20d8-4c8a-930b-e54f6f45c42f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/parts/:partID/purchasables","description":"<p>This endpoint makes an HTTP GET request to retrieve a part's purchasable data. The response of this request is documented as a JSON schema.</p>\n<p><b>Return data description</b></p>\n\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Property</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>partID</td>\n<td>The ID of the part the purchasable belongs to.</td>\n</tr>\n<tr>\n<td>name</td>\n<td>The name of the purchasable.</td>\n</tr>\n<tr>\n<td>size</td>\n<td>The size of the purchasable.</td>\n</tr>\n<tr>\n<td>orderUnitCode</td>\n<td>The unit that describes how this purchasable is ordered. E.g. \"by the box\", or \"by the foot\".</td>\n</tr>\n<tr>\n<td>sizeUnitCode</td>\n<td>The unit that qualifies the size value. E.g. this tells you whether this purchasable is 10 liters, or cans, or feet, etc.</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","parts",":partID","purchasables"],"host":["localhost"],"query":[{"disabled":true,"description":{"content":"<p>This parameter is used to paginate results based on the limit. Refer to Pagination section for more information.</p>\n","type":"text/plain"},"key":"page","value":"1"},{"disabled":true,"description":{"content":"<p>This parameter is a result limiter. The default is set to return no more than 100 results at one time.</p>\n","type":"text/plain"},"key":"limit","value":"2"},{"disabled":true,"description":{"content":"<p>Filter purchasables that have a name which starts with this string.</p>\n","type":"text/plain"},"key":"nameStartsWith","value":"Box of"}],"variable":[{"description":{"content":"<p>The ID of the part you need purchasables for.</p>\n","type":"text/plain"},"type":"any","value":"11","key":"partID"}]}},"response":[{"id":"36104a07-d60b-4b2b-a1f9-3af2cf42976f","name":"Get Purchasables","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/parts/:partID/purchasables","protocol":"https","host":["localhost"],"port":"3000","path":["v2","parts",":partID","purchasables"],"variable":[{"key":"partID","value":"1"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 18 Dec 2024 22:14:08 GMT","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"2","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"content-security-policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"x-dns-prefetch-control","value":"off","enabled":true},{"key":"expect-ct","value":"max-age=0","enabled":true},{"key":"x-frame-options","value":"SAMEORIGIN","enabled":true},{"key":"strict-transport-security","value":"max-age=31536000; includeSubDomains; preload","enabled":true},{"key":"x-download-options","value":"noopen","enabled":true},{"key":"x-content-type-options","value":"nosniff","enabled":true},{"key":"x-permitted-cross-domain-policies","value":"none","enabled":true},{"key":"referrer-policy","value":"no-referrer","enabled":true},{"key":"x-xss-protection","value":"0","enabled":true},{"key":"api-feedback-link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"x-ratelimit-limit","value":"4000","enabled":true},{"key":"x-ratelimit-minute-limit","value":"360","enabled":true},{"key":"x-ratelimit-remaining","value":"3992","enabled":true},{"key":"x-ratelimit-first-call","value":"1734557517","enabled":true},{"key":"x-ratelimit-minute-remaining","value":"359","enabled":true},{"key":"x-ratelimit-minute-first-call","value":"1734560048","enabled":true},{"key":"etag","value":"W/\"2-l9Fw4VUO7kr8CvBlt4zaMCqXZ0w\"","enabled":true},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0","enabled":true},{"key":"CF-Cache-Status","value":"DYNAMIC","enabled":true},{"key":"Server","value":"cloudflare","enabled":true},{"key":"CF-RAY","value":"8f42810c4f516c0d-DFW","enabled":true}],"cookie":[],"responseTime":null,"body":"[\r\n    {\r\n        \"purchasableID\": 10,\r\n        \"partID\": 1,\r\n        \"name\": \"Drum of 10 liters\",\r\n        \"size\": 10,\r\n        \"orderUnitCode\": \"drum\",\r\n        \"sizeUnitCode\": \"liter\"\r\n    },\r\n    {\r\n        \"purchasableID\": 15,\r\n        \"partID\": 1,\r\n        \"name\": \"By the gallon\",\r\n        \"size\": 1,\r\n        \"orderUnitCode\": \"gallon\",\r\n        \"sizeUnitCode\": \"gallon\"\r\n    }\r\n]"}],"_postman_id":"6f7a6bce-20d8-4c8a-930b-e54f6f45c42f"}],"id":"a016c626-3983-48fc-9123-5c31345ad780","_postman_id":"a016c626-3983-48fc-9123-5c31345ad780","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Parts","event":[{"listen":"test","script":{"id":"effe6192-869a-4cde-99e7-bfa75ff52b6a","exec":["pm.test(\"response is ok\", function () {\r","    pm.response.to.have.status(200);\r","});"],"type":"text/javascript","packages":{}}}],"id":"a6120e43-7880-4114-8cf8-92447d9f53ab","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/parts/","description":"<p>This request returns a list of Parts with top level information such as name, last edited, etc.</p>\n<p><strong>Note:</strong> this endpoint supports pagination. Please refer to the <a href=\"#pagination\"><b>Pagination</b></a> section for more information.</p>\n<p><b>Return data description</b></p>\n\n<table><tbody><tr><th>Property</th><th>Description</th></tr><tr><td><div>number</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The Part's Number. e.g. 25x25x1</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>name</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The Part's Name. e.g. Filter</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>generalStock</div><div><div><div><div></div></div></div><div></div></div></td><td><div>How many of this Part you have in stock. Not including purchase orders.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>unitCode</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The unit code displayed for the part. This represents the unit of measure assigned to the part (e.g., \"kg\", \"lb\", \"each\", etc.). If no unit is assigned, this field will be null.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>generalPrice</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The default price of this part. Not considering purchase oder prices.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>category</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The category this Part belongs to</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>location</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The Location of this Part. e.g. Shelf A</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>minQtyStatus</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Is the Part currently under the min quantity threshold. 0 = false, 1 = true.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>minQtyThreshold</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The number at which reordering of this part is triggered. -1 means this feature is turned off.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>maxQtyThreshold</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The number to bring the parts quantity back to. For example, if my inventory is at 4 and my maxQtyThreshold is 20 I will be reordering 16 parts to bring my inventory back up to the max quantity.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>staleThreshold</div><div><div><div><div></div></div></div><div></div></div></td><td><div>This value is how many days will need to go without a User using this Part by before this Part is considering stale.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>staleStatus</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Is the Part stale or not. 0 = false, 1 = true.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>userID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The user that will receive threshold notifications and Tasks if thresholds are hit.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>team</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The team that will receive threshold notifications and Tasks if thresholds are hit.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>stockOnHand</div><div><div><div><div></div></div></div><div></div></div></td><td><div>General Stock plus any unused, received PO Quantities for this part. This matches the 'Qty' value seen in the CMMS Part Management page.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>pos</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Array of purchase order objects. price and quantity do not effect generalStock and generalPrice listed above.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>image</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Array of objects that have a file name and a link you can use to download that image. All links are only valid for 15 minutes, a new call will generate a new link.</div><div><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","parts",""],"host":["localhost"],"query":[{"disabled":true,"description":{"content":"<p>This parameter is used to only get specific Parts. This parameter accepts a comma delimited list of part IDs.</p>\n","type":"text/plain"},"key":"parts","value":"1,2"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get Parts at a specific group of Locations. This parameter accepts a comma delimited list of Location IDs.</p>\n","type":"text/plain"},"key":"locations","value":"73"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get specific parts. This parameter expects a string either a full name of a part or a partial name with the wildcard %.</p>\n","type":"text/plain"},"key":"name","value":"%blade%"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get Parts that were last edited after the unix timestamp passed into the start parameter. For example, all Parts that were last edited after April 18th, 2018.</p>\n","type":"text/plain"},"key":"start","value":"1564895015"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get Parts that were last edited <em>before</em> the unix timestamp passed into the end parameter.</p>\n","type":"text/plain"},"key":"end","value":"1564895015"},{"disabled":true,"description":{"content":"<p>This parameter is a cursor that selects what partID you want to start receiving results at. e.g. passing 137 here will only get you parts with an id greater than 137.</p>\n","type":"text/plain"},"key":"cursor","value":"0"},{"disabled":true,"description":{"content":"<p>This parameter is a result limiter. The default is set to return no more than 100 results at one time.</p>\n","type":"text/plain"},"key":"limit","value":"100"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get parts with part numbers that match the list provided. This parameter accepts a comma delimited list of Part Numbers.</p>\n","type":"text/plain"},"key":"numbers","value":"25x25x1 - Vendor b - location 2"},{"disabled":true,"description":{"content":"<p>This parameter is used to paginate results based on the limit. Refer to Pagination section for more information. </p>\n","type":"text/plain"},"key":"page","value":"2"}],"variable":[]}},"response":[{"id":"5fed9c87-bc97-416f-9800-01c2c1015e52","name":"Parts","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.limblecmms.com:443/v2/parts/?parts=159&locations=163&name=%Filter%&start=1564895015&end=1636670380&cursor=0&limit=100&numbers=25x25x1 - Vendor b - location 2&page=1","protocol":"https","host":["api","limblecmms","com"],"port":"443","path":["v2","parts",""],"query":[{"key":"parts","value":"159","description":"This parameter is used to only get specific Parts. This parameter accepts a comma delimited list of part IDs."},{"key":"locations","value":"163","description":"This parameter is used to only get Parts at a specific group of Locations. This parameter accepts a comma delimited list of Location IDs."},{"key":"name","value":"%Filter%","description":"This parameter is used to only get specific parts. This parameter expects a string either a full name of a part or a partial name with the wildcard %."},{"key":"start","value":"1564895015","description":"This parameter is used to only get Parts that were last edited after the unix timestamp passed into the start parameter. For example, all Parts that were last edited after April 18th, 2018."},{"key":"end","value":"1636670380","description":"This parameter is used to only get Parts that were last edited *before* the unix timestamp passed into the end parameter."},{"key":"cursor","value":"0","description":"This parameter is a cursor that selects what partID you want to start receiving results at. e.g. passing 137 here will only get you parts with an id greater than 137."},{"key":"limit","value":"100","description":"This parameter is a result limiter. The default is set to return no more than 100 results at one time."},{"key":"numbers","value":"25x25x1 - Vendor b - location 2","description":"This parameter is used to only get parts with part numbers that match the list provided. This parameter accepts a comma delimited list of Part Numbers."},{"key":"page","value":"1","description":"This parameter is used to paginate results based on the limit. Refer to Pagination section for more information. "}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Last-Page","value":"/v2/parts/?locations=163&name=%Filter%&start=1564895015&end=1636670380&cursor=0&limit=100&numbers=25x25x1%20-%20Vendor%20b%20-%20location%202&page=1","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"437","enabled":true},{"key":"ETag","value":"W/\"1b5-Esn6PbFkEAyj7Mv9m8eiV6RIDlo\"","enabled":true},{"key":"Date","value":"Tue, 23 Nov 2021 17:35:18 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"partID\": 159,\n        \"number\": \"25x25x1 - Vendor b - location 2\",\n        \"name\": \"Filter\",\n        \"generalStock\": -14,\n        \"unitCode\": \"each\",\n        \"generalPrice\": 5.99,\n        \"category\": \"Air Filters\",\n        \"categoryID\": 7,\n        \"locationID\": 163,\n        \"location\": \"Bin 002\",\n        \"minQtyStatus\": 1,\n        \"minQtyThreshold\": 10,\n        \"maxQtyThreshold\": -1,\n        \"staleThreshold\": -1,\n        \"staleStatus\": 0,\n        \"lastEdited\": 1636670374,\n        \"userID\": 0,\n        \"teamID\": 436,\n        \"stockOnHand\": -11,\n        \"pos\": [\n            {\n                \"quantity\": 2,\n                \"quantityUsed\": 2,\n                \"price\": 5.99,\n                \"poItemID\": 8\n            },\n            {\n                \"quantity\": 8,\n                \"quantityUsed\": 5,\n                \"price\": 5.99,\n                \"poItemID\": 11\n            }\n        ],\n        \"image\": []\n    }\n]"},{"id":"45512b78-eb95-446a-a01e-4e556f534f73","name":"Pagination using Page & Limit","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/parts/?locations=163&limit=2&page=2","protocol":"https","host":["localhost"],"port":"3000","path":["v2","parts",""],"query":[{"key":"parts","value":"159","description":"This parameter is used to only get specific Parts. This parameter accepts a comma delimited list of part IDs.","disabled":true},{"key":"locations","value":"163","description":"This parameter is used to only get Parts at a specific group of Locations. This parameter accepts a comma delimited list of Location IDs."},{"key":"name","value":"%Filter%","description":"This parameter is used to only get specific parts. This parameter expects a string either a full name of a part or a partial name with the wildcard %.","disabled":true},{"key":"start","value":"1564895015","description":"This parameter is used to only get Parts that were last edited after the unix timestamp passed into the start parameter. For example, all Parts that were last edited after April 18th, 2018.","disabled":true},{"key":"end","value":"1636738080","description":"This parameter is used to only get Parts that were last edited *before* the unix timestamp passed into the end parameter.","disabled":true},{"key":"cursor","value":"0","description":"This parameter is a cursor that selects what partID you want to start receiving results at. e.g. passing 137 here will only get you parts with an id greater than 137.","disabled":true},{"key":"limit","value":"2","description":"This parameter is a result limiter. The default is set to return no more than 100 results at one time."},{"key":"numbers","value":"25x25x1 - Vendor b - location 2","description":"This parameter is used to only get parts with part numbers that match the list provided. This parameter accepts a comma delimited list of Part Numbers.","disabled":true},{"key":"page","value":"2","description":"This parameter is used to paginate results based on the limit. Refer to Pagination section for more information. "}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Last-Page","value":"/v2/parts/?locations=163&limit=2&page=9","enabled":true},{"key":"Next-Page","value":"/v2/parts/?locations=163&limit=2&page=3","enabled":true},{"key":"Previous-Page","value":"/v2/parts/?locations=163&limit=2&page=1","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"754","enabled":true},{"key":"ETag","value":"W/\"2f2-kjzz0y6RLt2DTuVhF4KEiq5vHj4\"","enabled":true},{"key":"Date","value":"Mon, 29 Nov 2021 23:12:10 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"partID\": 1031,\n        \"number\": \"\",\n        \"name\": \"UpdatedPartName111111111\",\n        \"generalStock\": 5,\n        \"generalPrice\": 0,\n        \"category\": null,\n        \"categoryID\": null,\n        \"locationID\": 163,\n        \"location\": null,\n        \"minQtyStatus\": 0,\n        \"minQtyThreshold\": 5,\n        \"maxQtyThreshold\": -1,\n        \"staleThreshold\": -1,\n        \"staleStatus\": 0,\n        \"lastEdited\": 1631284869,\n        \"userID\": 0,\n        \"teamID\": 436,\n        \"stockOnHand\": 5,\n        \"pos\": [],\n        \"image\": []\n    },\n    {\n        \"partID\": 1033,\n        \"number\": \"\",\n        \"name\": \"A New Part\",\n        \"generalStock\": 0,\n        \"generalPrice\": 0,\n        \"category\": null,\n        \"categoryID\": null,\n        \"locationID\": 163,\n        \"location\": null,\n        \"minQtyStatus\": 0,\n        \"minQtyThreshold\": -1,\n        \"maxQtyThreshold\": -1,\n        \"staleThreshold\": -1,\n        \"staleStatus\": 0,\n        \"lastEdited\": 1610602804,\n        \"userID\": 0,\n        \"teamID\": 436,\n        \"stockOnHand\": 0,\n        \"pos\": [],\n        \"image\": [\n            {\n                \"fileName\": \"9677-wall.jpg\",\n                \"link\": \"https://local-content.limblestaging.com/upload-36/parts/163/1033/9677-wall.jpg\"\n            }\n        ]\n    }\n]"}],"_postman_id":"a6120e43-7880-4114-8cf8-92447d9f53ab"},{"name":"Create Part","event":[{"listen":"test","script":{"id":"4c467aba-c8eb-45a9-9a83-dfa3bb437657","exec":["const partID = pm.response.json().partID;","","pm.test(\"response is created\", () => {","    pm.response.to.have.status(201);","});","","pm.test(\"location header is valid\", () => {","    const locationHeader = postman.getResponseHeader('Location')","    pm.expect(locationHeader).to.eql(`/v2/parts/?parts=${partID}`);","});","","pm.globals.set('partID', partID);",""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"be3ab1d7-ab62-443d-bcdd-84329b199483","exec":["const partName = `part_name_${Math.floor(Math.random() * 10000000)}`;","","pm.globals.set('partName', partName);","",""],"type":"text/javascript"}}],"id":"9ad52e47-8dad-4690-971d-ece45357867a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"locationID\": 163,\n\t\"name\": \"{{updatedPartName}}\",\n\t\"generalStock\": 10,\n\t\"generalPrice\": 1.00,\n\t\"number\":\"123123123\",\n\t\"supplier\": \"limblecmms\",\n\t\"location\": \"bin121121\",\n\t\"categoryID\": 1,\n\t\"assignment\": 341,\n\t\"assignmentType\": \"user\",\n\t\"staleThreshold\": 30,\n\t\"minQtyThreshold\": 30,\n\t\"maxQtyThreshold\": 30,\n\t\"minQtyStatus\": true\n}"},"url":"https://localhost:3000/v2/parts/","description":"<p>This request adds new Parts to inventory list.</p>\n<table><tbody><tr><th>Parameter</th><th>Type</th><th>Required?</th><th>Description</th></tr><tr><td><div>locationID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Int</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Required</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The location of the Part to be updated. Must be the Location's unique ID number.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>name</div><div><div><div><div></div></div></div><div></div></div></td><td><div>String</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Required</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The new name of the Part.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>number</div><div><div><div><div></div></div></div><div></div></div></td><td><div>String</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The new number of the Part.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>generalStock</div><div><div><div><div></div></div></div><div></div></div></td><td><div>number</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>How many of this Part are now in stock. Not including purchase orders</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>generalPrice</div><div><div><div><div></div></div></div><div></div></div></td><td><div>number</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The new price of the Part. Not considering purchase order prices.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>unitCode</div><div><div><div><div></div></div></div><div></div></div></td><td><div>String</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The unit code to assign to the part. If the unit code is not found, the request will return a 404 error.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>supplier</div><div><div><div><div></div></div></div><div></div></div></td><td><div>String</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The new supplier of the Part.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>location</div><div><div><div><div></div></div></div><div></div></div></td><td><div>String</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The new location of the Part (i.e. bin).</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>categoryID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>int</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The category this part is in. (i.e. Electronics).</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>staleThreshold</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Int</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The Stale Threshold setting allows you to set how many days need to go by without a Work Order or Task using this Part. For example, if the Stale Threshold is set at 30 and a Part does not get used by a Work Order or Task within 30 days, then the Part clock indicator will change color to red. If you wish to turn off this feature, assign a value of -1.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>minQtyThreshold</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Int</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The Minimum Part Qty Threshold setting allows you to set a limit on how low you want this Part's qty to get. For example, if a Part Qty is lower than the Part Qty Threshold, a Task will be assigned to the Manager of the location to order new Parts. If you wish to turn off this feature, assign a value of -1.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>maxQtyThreshold</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Int</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The Max Part Quantity Threshold number is used to determine what level you would like to bring your stock back to when you need to reorder a part. For example if I have 4 parts and my Maximum Part Qty Threshold is set to 20, I will have a task letting me know to order 16 more parts. If you wish to disable this feature please have a value of -1 entered.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>minQtyStatus</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Boolean</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>This indicates if you are understocked or not.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>staleStatus</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Boolean</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>This indicates if the part has gone stale or not. This value cannot be changed by regular user interaction it is change automatically by limble.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>assignment</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Int</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional. Required if 'assignmentType' is used.</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The user or team to which the task will be assigned.<br />Must be a user or team that exists at the specified location. Must be the unique ID number of the user or team. If this parameter is set, the assignmentType parameter must also be set.<br /></div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>assignmentType</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Enum</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional. Required if 'assignment' is used.</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Specifies wether this task will be assigned to a 'user' or a 'team'. Those two strings are the only accepted input. If this parameter is set, the assignment parameter must also be set.<br /></div><div><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","parts",""],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"ed4369e3-07f7-4f5e-8a59-0341d579f3e3","name":"Create Part","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"locationID\": 163,\n\t\"name\": \"{{updatedPartName}}\",\n\t\"generalStock\": 10,\n\t\"generalPrice\": 1.00,\n    \"number\":\"123123123\",\n\t\"supplier\": \"netswat\",\n\t\"location\": \"bin121121\",\n\t\"categoryID\": 0,\n\t\"assignment\": 341,\n\t\"assignmentType\": \"user\",\n\t\"staleThreshold\": 30,\n\t\"minQtyThreshold\": 30,\n\t\"maxQtyThreshold\": 30,\n\t\"minQtyStatus\": true\n}"},"url":"https://localhost:3000/v2/parts/"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Location","value":"/v2/parts/?parts=2941","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"15","enabled":true},{"key":"ETag","value":"W/\"f-pQLCPEI+RT0zT6s4IbUHy/pMpxc\"","enabled":true},{"key":"Date","value":"Wed, 28 Aug 2019 04:06:32 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"partID\": 2941\n}"}],"_postman_id":"9ad52e47-8dad-4690-971d-ece45357867a"},{"name":"Update Part","event":[{"listen":"test","script":{"id":"4c467aba-c8eb-45a9-9a83-dfa3bb437657","exec":["pm.test(\"response is created\", () => {","    pm.response.to.have.status(200);","});"],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"be3ab1d7-ab62-443d-bcdd-84329b199483","exec":["const partName = `updated_part_name_${Math.floor(Math.random() * 10000000)}`;","","pm.globals.set('updatedPartName', partName);",""],"type":"text/javascript"}}],"id":"0d05fb10-126d-4e2c-a20f-bad8c61922e2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"locationID\": 163,\n\t\"generalStock\": 10\n}"},"url":"https://localhost:3000/v2/parts/:partID","description":"<p>This request updates an Part's information such as a Part's quantity.</p>\n<table><tbody><tr><th>Parameter</th><th>Type</th><th>Required?</th><th>Description</th></tr><tr><td><div>locationID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Int</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Required</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The location of the Part to be updated. Must be the Location's unique ID number.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>name</div><div><div><div><div></div></div></div><div></div></div></td><td><div>String</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The new name of the Part.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>number</div><div><div><div><div></div></div></div><div></div></div></td><td><div>String</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The new number of the Part.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>generalStock</div><div><div><div><div></div></div></div><div></div></div></td><td><div>number</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>How many of this Part are now in stock. Not including purchase orders.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>generalPrice</div><div><div><div><div></div></div></div><div></div></div></td><td><div>number</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The new price of the Part. Not considering purchase order prices.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>unitCode</div><div><div><div><div></div></div></div><div></div></div></td><td><div>String</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Update the part's unit by providing a unit code. If the unit code is not found, the request will return a 404 error. The unit of measure cannot be changed if the part has purchasables associated with it or is referenced in open purchase orders - in these cases, the request will return a 400 error.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>supplier</div><div><div><div><div></div></div></div><div></div></div></td><td><div>String</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The new supplier of the Part.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>location</div><div><div><div><div></div></div></div><div></div></div></td><td><div>String</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The new location of the Part (i.e. bin).</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>categoryID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>int</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The category this part is in. (i.e. Electronics).</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>staleThreshold</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Int</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The Stale Threshold setting allows you to set how many days need to go by without a Work Order or Task using this Part. For example, if the Stale Threshold is set at 30 and a Part does not get used by a Work Order or Task within 30 days, then the Part clock indicator will change color to red. If you wish to turn off this feature, assign a value of -1.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>minQtyThreshold</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Int</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The Minimum Part Qty Threshold setting allows you to set a limit on how low you want this Part's qty to get. For example, if a Part Qty is lower than the Part Qty Threshold, a Task will be assigned to the Manager of the location to order new Parts. If you wish to turn off this feature, assign a value of -1.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>maxQtyThreshold</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Int</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The Max Part Quantity Threshold number is used to determine what level you would like to bring your stock back to when you need to reorder a part. For example if I have 4 parts and my Maximum Part Qty Threshold is set to 20, I will have a task letting me know to order 16 more parts. If you wish to disable this feature please have a value of -1 entered.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>minQtyStatus</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Boolean</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>This indicates if you are understocked or not.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>staleStatus</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Boolean</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>This indicates if the part has gone stale or not. This value cannot be changed by regular user interaction it is change automatically by limble.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>assignment</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Int</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional. Required if 'assignmentType' is used.</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The user or team to which the task will be assigned.<br />Must be a user or team that exists at the specified location. Must be the unique ID number of the user or team. If this parameter is set, the assignmentType parameter must also be set.<br /></div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>assignmentType</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Enum</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional. Required if 'assignment' is used.</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Specifies wether this task will be assigned to a 'user' or a 'team'. Those two strings are the only accepted input. If this parameter is set, the assignment parameter must also be set.<br /></div><div><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","parts",":partID"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"3791","key":"partID"}]}},"response":[{"id":"81815b2f-28d6-4580-99e7-8617d7e70b29","name":"Update Part","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"locationID\": 163,\n\t\"name\": \"{{updatedPartName}}\",\n\t\"quantity\": 10,\n\t\"number\":\"123123123\",\n\t\"price\": 1.00,\n\t\"supplier\": \"netswat\",\n\t\"location\": \"bin121121\",\n\t\"categoryID\": 1,\n\t\"assignment\": 341,\n\t\"assignmentType\": \"user\",\n\t\"staleThreshold\": 30,\n\t\"minQtyThreshold\": 30,\n\t\"maxQtyThreshold\": 30,\n\t\"minQtyStatus\": true\n}"},"url":{"raw":"https://localhost:3000/v2/parts/:partID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","parts",":partID"],"variable":[{"key":"partID","value":"1"}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Wed, 28 Aug 2019 04:14:23 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"0d05fb10-126d-4e2c-a20f-bad8c61922e2"},{"name":"Delete Part","event":[{"listen":"prerequest","script":{"id":"87ee70c8-43de-44bd-bfd3-c53c0791738b","exec":[""],"type":"text/javascript"}},{"listen":"test","script":{"id":"51e80c59-d919-48d2-974e-4ec3858e81be","exec":["pm.test(\"response is created\", () => {","    pm.response.to.have.status(200);","});"],"type":"text/javascript"}}],"id":"9fba73a7-6798-4e96-85dc-741a43803a31","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"url":"https://localhost:3000/v2/parts/:partID","description":"<p>This request removes a Part from your inventory list.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","parts",":partID"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>partID of the part you are removing.</p>\n","type":"text/plain"},"type":"any","value":"{{partID}}","key":"partID"}]}},"response":[{"id":"ab5abe45-b4e0-4af2-8aea-0d0a5e9105b4","name":"Delete Part","originalRequest":{"method":"DELETE","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"url":{"raw":"https://localhost:3000/v2/parts/:partID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","parts",":partID"],"variable":[{"key":"partID","value":"10","description":"partID of the part you are removing."}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 18:34:02 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"9fba73a7-6798-4e96-85dc-741a43803a31"},{"name":"Parts Usage","event":[{"listen":"test","script":{"id":"074741f2-6e15-4b51-90bc-5503e0f745d6","exec":["const firstPartUsage = pm.response.json()[0];","","pm.test('status ok', () => {","   pm.expect(pm.response.code).to.eql(200);","});","","pm.globals.set('partUsageID', firstPartUsage.id);",""],"type":"text/javascript","packages":{}}}],"id":"f1f453b9-738d-4b98-b27e-705ee6ed1d73","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/parts/usage","description":"<p>This request gets your Parts usage log.</p>\n<p><b>Return data description</b></p>\n\n<table>\n    <thead>\n        <tr>\n            <th>Property</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>meta</td>\n            <td>A call which can be used to quickly look up the Task that this part's usage was recorded on.</td>\n        </tr>\n        <tr>\n            <td>name</td>\n            <td>The name of the part used.</td>\n        </tr>\n        <tr>\n            <td>taskID</td>\n            <td>The associated Task where this part was used.</td>\n        </tr>\n        <tr>\n            <td>usedCount</td>\n            <td>The number of parts that were used.</td>\n        </tr>\n        <tr>\n            <td>usedPrice</td>\n            <td>The price per 1 part.</td>\n        </tr>\n        <tr>\n            <td>usedOn</td>\n            <td>The date when the part was used.  This is a unix timestamp.</td>\n        </tr>\n        <tr>\n            <td>poItemID</td>\n            <td>The unique ID of the PO item associated with this usage record.</td>\n        </tr>\n    </tbody>\n</table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","parts","usage"],"host":["localhost"],"query":[{"disabled":true,"description":{"content":"<p>This parameter is used to only get specific Parts. This parameter accepts a comma delimited list of part IDs.</p>\n","type":"text/plain"},"key":"parts","value":"2"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get Parts at a specific group of Tasks. This parameter accepts a comma delimited list of Task IDs.</p>\n","type":"text/plain"},"key":"tasks","value":"8,10"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get Parts that were last edited after the unix timestamp passed into the start parameter. For example, all Assets that were last edited after April 18th, 2018.</p>\n","type":"text/plain"},"key":"start","value":"1457663400"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get Parts that were last edited <em>before</em> the unix timestamp passed into the end parameter.</p>\n","type":"text/plain"},"key":"end","value":"1457663400"},{"disabled":true,"description":{"content":"<p>This parameter is used to string search part names either partial or full name with the wildcard %.</p>\n","type":"text/plain"},"key":"name","value":"%Pro%"},{"disabled":true,"description":{"content":"<p>This parameter is a cursor that selects what partID you want to start receiving results at. e.g. passing 137 here will only get you part usage records with an id greater than 137.</p>\n","type":"text/plain"},"key":"cursor","value":"0"},{"disabled":true,"description":{"content":"<p>This parameter is a result limiter. The default is set to return no more than 100 results at one time.</p>\n","type":"text/plain"},"key":"limit","value":"100"}],"variable":[]}},"response":[{"id":"b9bdb14b-4dd9-4a0f-83fc-c69c813b4ecd","name":"Parts Usage","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/parts/usage","protocol":"https","host":["localhost"],"port":"3000","path":["v2","parts","usage"],"query":[{"key":"parts","value":"2","disabled":true},{"key":"tasks","value":"8,10","disabled":true},{"key":"start","value":"1457663400","disabled":true},{"key":"end","value":"1457663400","disabled":true},{"key":"name","value":"%Pro%","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"14328","enabled":true},{"key":"ETag","value":"W/\"37f8-6pd0tWfMjHffuAUR+WKWluWoaJc\"","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 18:32:08 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"meta\": {\n            \"task\": \"/v2/tasks/?tasks=2\",\n            \"part\": \"/v2/parts/?parts=4\"\n        },\n        \"partID\": 2,\n        \"name\": \"X1161P Projector Lamp\",\n        \"taskID\": 8,\n        \"usedCount\": 0,\n        \"usedPrice\": 0,\n        \"usedOn\": 0,\n        \"poItemID\": 0\n    },\n    {\n        \"meta\": {\n            \"task\": \"/v2/tasks/?tasks=3\",\n            \"part\": \"/v2/parts/?parts=5\"\n        },\n        \"partID\": 3,\n        \"name\": \"Stain Cleaner\",\n        \"taskID\": 10,\n        \"usedCount\": 0,\n        \"usedPrice\": 0,\n        \"usedOn\": 0,\n        \"poItemID\": 0\n    }\n]"}],"_postman_id":"f1f453b9-738d-4b98-b27e-705ee6ed1d73"}],"id":"fd9a2e0f-e761-4bdb-b86b-68b31e05532b","_postman_id":"fd9a2e0f-e761-4bdb-b86b-68b31e05532b","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Tasks","item":[{"name":"Invoices","item":[{"name":"Files","item":[{"name":"Attach a file to an invoice","id":"245d52d2-67fa-44c2-8612-f7d7ff65d74d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"formdata","formdata":[{"key":"file","type":"file","src":"/C:/Users/Hely Mehta/Desktop/basic.txt"}]},"url":"https://localhost:3000/v2/tasks/:taskID/invoices/:invoiceID/file","description":"<p>This request will attach a text or image file to an invoice on an <strong>open</strong> Task (i.e. task status=0).</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","tasks",":taskID","invoices",":invoiceID","file"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>The taskID of the invoice you want add the file to.</p>\n","type":"text/plain"},"type":"any","value":"15188","key":"taskID"},{"description":{"content":"<p>The invoiceID of the invoice you want to attach the file to.</p>\n","type":"text/plain"},"type":"any","value":"311","key":"invoiceID"}]}},"response":[{"id":"e2ba6108-4b8c-409d-8089-4d3ddc26f191","name":"Attach a file to an invoice","originalRequest":{"method":"PUT","header":[],"body":{"mode":"formdata","formdata":[{"key":"file","type":"file","src":"/C:/Users/Hely Mehta/Desktop/basic.txt"}]},"url":{"raw":"https://localhost:3000/v2/tasks/:taskID/invoices/:invoiceID/file","protocol":"https","host":["localhost"],"port":"3000","path":["v2","tasks",":taskID","invoices",":invoiceID","file"],"variable":[{"key":"taskID","value":"15188","description":"The taskID of the invoice you want add the file to."},{"key":"invoiceID","value":"311","description":"The invoiceID of the invoice you want to attach the file to."}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Fri, 01 Apr 2022 01:24:54 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"245d52d2-67fa-44c2-8612-f7d7ff65d74d"},{"name":"Delete file from Invoice","id":"ed85e8b3-4f4e-4913-ae61-788c44ee3ce9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://localhost:3000/v2/tasks/:taskID/invoices/:invoiceID/file","description":"<p>This request removes a file attached to an invoice on an open Task (i.e. task status = 0).</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","tasks",":taskID","invoices",":invoiceID","file"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>The taskID of the invoice you want remove the file from.</p>\n","type":"text/plain"},"type":"any","value":"15188","key":"taskID"},{"description":{"content":"<p>The invoiceID of the invoice you want to remove the file from.</p>\n","type":"text/plain"},"type":"any","value":"311","key":"invoiceID"}]}},"response":[{"id":"b31fd27a-71f1-4f95-9486-8a9c553ed531","name":"Delete file from Invoice","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://localhost:3000/v2/tasks/:taskID/invoices/:invoiceID/file","protocol":"https","host":["localhost"],"port":"3000","path":["v2","tasks",":taskID","invoices",":invoiceID","file"],"variable":[{"key":"taskID","value":"15188"},{"key":"invoiceID","value":"311"}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Fri, 01 Apr 2022 01:29:22 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"ed85e8b3-4f4e-4913-ae61-788c44ee3ce9"}],"id":"1f1fec3f-1365-486c-9fa3-70e283903dc9","_postman_id":"1f1fec3f-1365-486c-9fa3-70e283903dc9","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Invoices","event":[{"listen":"test","script":{"id":"cf77ffbe-d04d-4ce2-aa34-4c63cf50ea5c","exec":["pm.test(\"response must be valid and have a body\", function () {\r","     // assert that the status code is 200\r","     pm.response.to.be.ok; // info, success, redirection, clientError,  serverError, are other variants\r","     // assert that the response has a valid JSON body\r","     pm.response.to.be.withBody;\r","     pm.response.to.be.json; // this assertion also checks if a body  exists, so the above check is not needed\r","});"],"type":"text/javascript","packages":{}}}],"id":"c6bdd342-c42d-4b31-b464-0a6cfd5ac095","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/tasks/invoices/","description":"<p>This request gets all Invoices associated with Tasks.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","tasks","invoices",""],"host":["localhost"],"query":[{"disabled":true,"description":{"content":"<p>This parameter is used to only get specific invoices or invoices. This parameter accepts a comma delimited list of invoice IDs.</p>\n","type":"text/plain"},"key":"invoices","value":"1"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get invoices on a task or tasks. This parameter accepts a comma delimited list of task IDs.</p>\n","type":"text/plain"},"key":"tasks","value":"8250"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get invoices that were logged after the unix timestamp passed into the start parameter. For example, all Invoices that were last edited after April 18th, 2018.</p>\n","type":"text/plain"},"key":"start","value":"1459391400"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get invoices that were logged <em>before</em> the unix timestamp passed into the end parameter.</p>\n","type":"text/plain"},"key":"end","value":"1518826313"},{"disabled":true,"description":{"content":"<p>This parameter is a cursor that selects what invoiceID you want to start receiving results at. e.g. passing 137 here will only get you tasks with an id greater than 137.</p>\n","type":"text/plain"},"key":"cursor","value":"0"},{"disabled":true,"description":{"content":"<p>This parameter is a result limiter. The default is set to return no more than 100 results at one time.</p>\n","type":"text/plain"},"key":"limit","value":"100"}],"variable":[]}},"response":[{"id":"dc9f1203-3387-4d65-b398-26a99f1dc96a","name":"Invoices","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/tasks/invoices/","protocol":"https","host":["localhost"],"port":"3000","path":["v2","tasks","invoices",""],"query":[{"key":"invoices","value":"1","description":"This parameter is used to only get specific invoices or invoices. This parameter accepts a comma delimited list of invoice IDs.","disabled":true},{"key":"tasks","value":"8250","description":"This parameter is used to only get invoices on a task or tasks. This parameter accepts a comma delimited list of task IDs.","disabled":true},{"key":"start","value":"1564895015","description":"This parameter is used to only get invoices that were logged after the unix timestamp passed into the start parameter. For example, all Invoices that were last edited after April 18th, 2018.","disabled":true},{"key":"end","value":"1564895015","description":"This parameter is used to only get invoices that were logged *before* the unix timestamp passed into the end parameter.","disabled":true},{"key":"cursor","value":"0","description":"This parameter is a cursor that selects what invoiceID you want to start receiving results at. e.g. passing 137 here will only get you tasks with an id greater than 137.","disabled":true},{"key":"limit","value":"100","description":"This parameter is a result limiter. The default is set to return no more than 100 results at one time.","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"8502","enabled":true},{"key":"ETag","value":"W/\"2136-ya/k3gckYIow8xid4YYShrGMdT0\"","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 18:22:25 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true}],"cookie":[],"responseTime":null,"body":"[\r\n    {\r\n        \"meta\": {\r\n            \"task\": \"/v2/tasks/?tasks=40\"\r\n        },\r\n        \"invoiceID\": 2,\r\n        \"file\": \"home-depot-receipt.pdf\",\r\n        \"cost\": 261.78,\r\n        \"taskID\": 40,\r\n        \"lastEdited\": 1522339851,\r\n        \"description\": null,\r\n        \"completedDate\": 1459391400,\r\n        \"poItemID\": 0,\r\n        \"invoiceFiles\": [\r\n            {\r\n                \"fileName\": \"home-depot-receipt.pdf\",\r\n                \"link\": \"https://content.limblecmms.com/upload-36/invoices/40/home-depot-receipt.pdf?Expires=1756912910&Key-Pair-Id=APKAIH5A42E3EPKJRHFQ&Signature=MeBymiHtMiuORuBqmQApfPXVgvTjQIl-zpRR6fhIjsrDItx~JGtUQkDW29dEDbzFqXsckIs~EIsd6ORuR8gxWcXXJopX3ZD4WjWjZKjSdz2LluwJRTp4odlTiEE2kZUoheEeIMbHJrRNQoQRPpNhJIXGZp5j5e9pqCR1R1~W3ykq-xRFmkGT7nOE0z-2ilHa9qjrgErSmrxjCRxPt0CFsYdzSySBuz4Fz2mXIDQiwO1cw7SEbnqBbqKEjogjMydy7vdtUC3upG7MF2BT-bOovihxeDksLEKZdmjAwaU-nhiJ4IWW1WGZ05wlHQG~xkYqDVW1R~A20qFA3-Cya0MmgQ__\"\r\n            }\r\n        ]\r\n    },\r\n    {\r\n        \"meta\": {\r\n            \"task\": \"/v2/tasks/?tasks=63\"\r\n        },\r\n        \"invoiceID\": 3,\r\n        \"file\": null,\r\n        \"cost\": 50,\r\n        \"taskID\": 63,\r\n        \"lastEdited\": 1518826313,\r\n        \"description\": null,\r\n        \"completedDate\": 1475597795,\r\n        \"poItemID\": 0,\r\n        \"invoiceFiles\": []\r\n    }\r\n]"}],"_postman_id":"c6bdd342-c42d-4b31-b464-0a6cfd5ac095"},{"name":"Attach an Invoice to task","id":"b71fbd05-773e-402f-9cd2-c02bd8c6923c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n    \"cost\": 10.10,\r\n    \"description\": \"testing\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/tasks/:taskID/invoices/","description":"<p>StartFragment</p>\n<p>.expect('Content-Type', /json/);</p>\n<p>EndFragment</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","tasks",":taskID","invoices",""],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>The taskID of the task you're attaching an invoice to.</p>\n","type":"text/plain"},"type":"any","value":"15188","key":"taskID"}]}},"response":[{"id":"9ac3ce4a-d96c-4aec-aaa2-57f549658308","name":"Attach an Invoice to task","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n    \"cost\": 10.10,\r\n    \"description\": \"testing\"\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://localhost:3000/v2/tasks/:taskID/invoices/","protocol":"https","host":["localhost"],"port":"3000","path":["v2","tasks",":taskID","invoices",""],"variable":[{"key":"taskID","value":"15188","description":"The taskID of the task you're attaching an invoice to."}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"17","enabled":true},{"key":"ETag","value":"W/\"11-DTvvOfbbippnLIyT4R0WlBBP1fs\"","enabled":true},{"key":"Date","value":"Fri, 01 Apr 2022 01:42:21 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"invoiceID\": 312\n}"}],"_postman_id":"b71fbd05-773e-402f-9cd2-c02bd8c6923c"},{"name":"Delete invoice from task","id":"f1022e87-7679-41b8-8dfa-6b4d717bb6f1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://localhost:3000/v2/tasks/:taskID/invoices/:invoiceID","description":"<p>This request will remove an invoice from an <strong>open</strong> Task (i.e. task status=0).</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","tasks",":taskID","invoices",":invoiceID"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>The taskID of the task you want to remove the invoice from.</p>\n","type":"text/plain"},"type":"any","value":"14879","key":"taskID"},{"description":{"content":"<p>The invoiceID of the invoice you want to remove.</p>\n","type":"text/plain"},"type":"any","value":"290","key":"invoiceID"}]}},"response":[{"id":"0761e628-555d-458d-94d1-5d278e2c8620","name":"Delete invoice from task","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://localhost:3000/v2/tasks/:taskID/invoices/:invoiceID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","tasks",":taskID","invoices",":invoiceID"],"variable":[{"key":"taskID","value":"14879","description":"The taskID of the task you want to remove the invoice from."},{"key":"invoiceID","value":"290","description":"The invoiceID of the invoice you want to remove."}]}},"_postman_previewlanguage":"Text","header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"f1022e87-7679-41b8-8dfa-6b4d717bb6f1"},{"name":"Update an Invoice","id":"8382889e-f2c1-4fd8-bf65-9e8db02f1147","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"cost\": 10000,\r\n    \"description\": \"new inovoice\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/tasks/:taskID/invoices/:invoiceID","description":"<p>This request will update an invoice attached to an <strong>open</strong> Task (i.e. task status=0).</p>\n<table><tbody><tr><th>Parameter</th><th>Type</th><th>Required?</th><th>Description</th></tr><tr><td>cost</td><td>Float</td><td>Required</td><td>The cost on the invoice.</td></tr><tr><td>description</td><td>String</td><td>Required</td><td>Brief description for the invoice.</td></tr></tbody></table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","tasks",":taskID","invoices",":invoiceID"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>The taskID of the task the invoice is attached to</p>\n","type":"text/plain"},"type":"any","value":"15188","key":"taskID"},{"description":{"content":"<p>The invoiceID that needs to be updated</p>\n","type":"text/plain"},"type":"any","value":"290","key":"invoiceID"}]}},"response":[{"id":"05aa2836-e549-4d6f-b675-1ec39ea0e2a4","name":"Update an Invoice","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"cost\": 10000,\r\n    \"description\": \"new inovoice\"\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://localhost:3000/v2/tasks/:taskID/invoices/:invoiceID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","tasks",":taskID","invoices",":invoiceID"],"variable":[{"key":"taskID","value":"15188","description":"The taskID of the task the invoice is attached to"},{"key":"invoiceID","value":"290","description":"The invoiceID that needs to be updated"}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Fri, 04 Aug 2023 19:58:47 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"8382889e-f2c1-4fd8-bf65-9e8db02f1147"}],"id":"c5c2900a-8b2e-4c4f-a2b9-5d86b1171ef2","_postman_id":"c5c2900a-8b2e-4c4f-a2b9-5d86b1171ef2","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Instructions","item":[{"name":"Options","item":[{"name":"Instruction Options","id":"38f662b6-4b31-4a7b-930e-62913ccc189b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/tasks/:taskID/instructions/:instructionID/options","description":"<p>This request gets all the Options for an Instruction Option or Dropdown list associated with a Task.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","tasks",":taskID","instructions",":instructionID","options"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>taskID of the task you are getting the option/dropdown list.</p>\n","type":"text/plain"},"type":"any","value":"11429","key":"taskID"},{"description":{"content":"<p>instructionID of the option/dropdown list you are getting the options for.</p>\n","type":"text/plain"},"type":"any","value":"49343","key":"instructionID"}]}},"response":[{"id":"62bce7de-ef47-4d3c-b0dd-6f2c083f0e7d","name":"Instruction Options","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/tasks/:taskID/instructions/:instructionID/options","protocol":"https","host":["localhost"],"port":"3000","path":["v2","tasks",":taskID","instructions",":instructionID","options"],"variable":[{"key":"taskID","value":"11429","description":"taskID of the task you are getting the option/dropdown list."},{"key":"instructionID","value":"49343","description":"instructionID of the option/dropdown list you are getting the options for."}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"152","enabled":true},{"key":"ETag","value":"W/\"98-spEkVz4oblUkvPKD14UDRII/gVs\"","enabled":true},{"key":"Date","value":"Tue, 17 Aug 2021 22:20:48 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"instructionOptionID\": 7096,\n        \"instructionOptionOrder\": 1,\n        \"instruction\": \"Yes\"\n    },\n    {\n        \"instructionOptionID\": 7097,\n        \"instructionOptionOrder\": 2,\n        \"instruction\": \"No\"\n    }\n]"}],"_postman_id":"38f662b6-4b31-4a7b-930e-62913ccc189b"},{"name":"New Instruction Option","id":"4a3b599e-af54-45cd-986e-1036ec5ba3bd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n\t\"instruction\": \"Yes\",\r\n    \"instructionOptionOrder\": 1\r\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/tasks/:taskID/instructions/:instructionID/options","description":"<p>This request will create a new Option for a Dropdown or Option instruction of a task.</p>\n<table>\n    <thead>\n        <tr>\n            <th>Parameter</th>\n            <th>Type</th>\n            <th>Required?</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n        </tr><tr>\n            <td>instruction</td>\n            <td>string</td>\n            <td>Required</td>\n            <td>The text that guides the User for selecting the option.</td>\n        </tr>\n        <tr>\n            <td>instructionOptionOrder</td>\n            <td>Int</td>\n            <td>Optional</td>\n            <td>If this is set the option is created at that position of the list. This value cannot be greater than the total number of option present in the list. If not set the option is added to the end of the list.</td>\n        </tr>\n    </tbody>\n</table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","tasks",":taskID","instructions",":instructionID","options"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>taskID of the task you are getting the option/dropdown list.</p>\n","type":"text/plain"},"type":"any","value":"11429","key":"taskID"},{"description":{"content":"<p>instructionID of the option/dropdown list you are getting the options for.</p>\n","type":"text/plain"},"type":"any","value":"49343","key":"instructionID"}]}},"response":[{"id":"b047dabd-b911-4ba5-aae4-9cad42871bf5","name":"New Instruction Option","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n\t\"instruction\": \"Yes\",\r\n    \"instructionOptionOrder\": 1\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://localhost:3000/v2/tasks/:taskID/instructions/:instructionID/options","protocol":"https","host":["localhost"],"port":"3000","path":["v2","tasks",":taskID","instructions",":instructionID","options"],"variable":[{"key":"taskID","value":"11429","description":"taskID of the task you are getting the option/dropdown list."},{"key":"instructionID","value":"49343","description":"instructionID of the option/dropdown list you are getting the options for."}]}},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"28","enabled":true},{"key":"ETag","value":"W/\"1c-mTmLC9bbeiZlEXaN1Zy3AiwFBpc\"","enabled":true},{"key":"Date","value":"Tue, 17 Aug 2021 22:19:01 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"instructionOptionID\": 7097\n}"}],"_postman_id":"4a3b599e-af54-45cd-986e-1036ec5ba3bd"},{"name":"Delete Instruction Option","id":"daf1d6f5-6b33-45a6-9227-cbd9a573f0ef","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://localhost:3000/v2/tasks/instructions/:instructionID/options/:instructionOptionID","description":"<p>This request will delete an option from a Dropdown or Option instruction.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","tasks","instructions",":instructionID","options",":instructionOptionID"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>instructionID of the instruction whose option you are deleting.</p>\n","type":"text/plain"},"type":"any","value":"49343","key":"instructionID"},{"description":{"content":"<p>instructionOptionID of the instruction option you are deleting.</p>\n","type":"text/plain"},"type":"any","value":"7097","key":"instructionOptionID"}]}},"response":[{"id":"db2c762a-2ad7-4e52-b5c5-2473965989e5","name":"Delete Instruction Option","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://localhost:3000/v2/tasks//instructions/:instructionID/options/:instructionOptionID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","tasks","","instructions",":instructionID","options",":instructionOptionID"],"variable":[{"key":"instructionID","value":"49343","description":"instructionID of the instruction whose option you are deleting."},{"key":"instructionOptionID","value":"7097","description":"instructionOptionID of the instruction option you are deleting."}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Tue, 17 Aug 2021 22:23:41 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"daf1d6f5-6b33-45a6-9227-cbd9a573f0ef"},{"name":"Update Instruction Option","id":"3bf896f9-028d-4d23-a89d-2cae5215e82e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"instruction\": \"Not Allowed\",\r\n    \"instructionOptionOrder\":1\r\n    \r\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/tasks/instructions/:instructionID/options/:instructionOptionID","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","tasks","instructions",":instructionID","options",":instructionOptionID"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>instructionID of the instruction whose option you are editing.</p>\n","type":"text/plain"},"type":"any","value":"49343","key":"instructionID"},{"description":{"content":"<p>instructionOptionID of the option you are editing.</p>\n","type":"text/plain"},"type":"any","value":"7097","key":"instructionOptionID"}]}},"response":[{"id":"ee82849e-402e-4db5-a6e9-769e6fd4b527","name":"Update Instruction Option","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"instruction\": \"Not Allowed\",\r\n    \"instructionOptionOrder\":1\r\n    \r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://localhost:3000/v2/tasks/instructions/:instructionID/options/:instructionOptionID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","tasks","instructions",":instructionID","options",":instructionOptionID"],"variable":[{"key":"instructionID","value":"49343","description":"instructionID of the instruction whose option you are editing."},{"key":"instructionOptionID","value":"7097","description":"instructionOptionID of the option you are editing."}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Tue, 17 Aug 2021 22:22:48 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"3bf896f9-028d-4d23-a89d-2cae5215e82e"}],"id":"47c5435f-c3fa-4a3d-8b68-62f54487adca","_postman_id":"47c5435f-c3fa-4a3d-8b68-62f54487adca","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Task Instructions","event":[{"listen":"test","script":{"id":"0999a450-cabc-45eb-adf9-ddea45b38b5b","exec":["pm.test(\"response must be valid and have a body\", function () {\r","     // assert that the status code is 200\r","     pm.response.to.be.ok; // info, success, redirection, clientError,  serverError, are other variants\r","     // assert that the response has a valid JSON body\r","     pm.response.to.be.withBody;\r","     pm.response.to.be.json; // this assertion also checks if a body  exists, so the above check is not needed\r","});"],"type":"text/javascript","packages":{}}}],"id":"722c6517-955a-4a62-af50-9d5c9d46ea25","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/tasks/:taskID/instructions?limit=2&page=1","description":"<p>This request gets all Task Instructions associated with a Task.</p>\n<p><strong>Note:</strong> this endpoint supports pagination. Please refer to the <a href=\"#pagination\"><b>Pagination</b></a> section for more information.</p>\n<p><b>Return data description</b></p>\n\n<table><tbody><tr><th>Property</th><th>Description</th></tr><tr><td><div>parentInstructionID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>This is the instructionID of the Instruction's parent. If this value is 0 then this Instruction does not have a parent.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>instruction</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The text that guides a User on what to do on this Instruction.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>type</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The type of the Instruction. See the request Post New Task Instruction to see a list of possible types and their meaning.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>instructionFiles</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Array of objects that have a file name and a link you can use to download that file. All links are only valid for 15 minutes, a new call will generate a new link.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>options</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Array of objects that have an itemOptionID, itemOptionOrder, and itemOptionText.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>response</div><div><div><div><div></div></div></div><div></div></div></td><td><div>This field is the \"response\" of an instruction i.e. what a user filled out when doing this instruction. The return value changes based on the instruction type:<br />1 Check Box - true/false<br />2 Radio List - if no option is selected, this will be 0. If an option is selected, this will be a number that maps to the itemOptionID of one of the members of the options array.<br />3 Text Box - string<br />4 Dropdown Box - if no option is selected, this will be 0. If an option is selected, this will be a number that maps to the itemOptionID of one of the members of the options array.<br />5 Date Picker - unix time stamp<br />7 Label - labels will never have a user response<br />9 File or Picture Attachment - Array of objects that have a file name and a link you can use to download that image. All links are only valid for 15 minutes, a new call will generate a new link.<br />10 Assign PM - not supported yet.<br />13 Number - integer<br />14 Start WO - not supported yet.<br />15 Capture Signature - Array of objects that have a file name and a link you can use to download that image. All links are only valid for 15 minutes, a new call will generate a new link.<br />16 Request Approval - Array of objects that have a file name and a link you can use to download that image. All links are only valid for 15 minutes, a new call will generate a new link.<br /></div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>meta</div><div><div><div><div></div></div></div><div></div></div></td><td><div>This property is useful to get more information related to the Task Instructions. Different instruction types may have different properties in the meta section.<br />Instruction Type:<br />14 Start WO - If this instruction is completed on the task, the meta property would have an \"associatedTask\" property on it. The associatedTask gives the route for the task created by this instruction. For example, if task 2 was created by a \"Start WO\" instruction on task 1. In GET Task Instruction for task 1, this instruction would have a meta associatedTask property pointing to task 2.</div><div><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","tasks",":taskID","instructions"],"host":["localhost"],"query":[{"key":"limit","value":"2"},{"key":"page","value":"1"},{"disabled":true,"description":{"content":"<p>This parameter is a cursor that selects what partID you want to start receiving results at. e.g. passing 137 here will only get you parts with an id greater than 137.</p>\n","type":"text/plain"},"key":"cursor","value":"0"}],"variable":[{"type":"any","value":"80","key":"taskID"}]}},"response":[{"id":"ddbdd7a6-4b2a-4258-8a99-98d564e34c84","name":"Pagination using Page & Limit","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/tasks/:taskID/instructions?limit=2&page=1","protocol":"https","host":["localhost"],"port":"3000","path":["v2","tasks",":taskID","instructions"],"query":[{"key":"cursor","value":"0","description":"This parameter is a cursor that selects what partID you want to start receiving results at. e.g. passing 137 here will only get you parts with an id greater than 137.","disabled":true},{"key":"limit","value":"2","description":"This parameter is a result limiter. The default is set to return no more than 100 results at one time."},{"key":"page","value":"1","description":"This parameter is used to paginate results based on the limit. Refer to Pagination section for more information."}],"variable":[{"key":"taskID","value":"103"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Last-Page","value":"/v2/tasks/103/instructions?limit=2&page=4","enabled":true},{"key":"Next-Page","value":"/v2/tasks/103/instructions?limit=2&page=2","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"328","enabled":true},{"key":"ETag","value":"W/\"148-l7aj2BmKXo8X+iqqidwipaUw3CE\"","enabled":true},{"key":"Date","value":"Mon, 29 Nov 2021 23:16:25 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"instructionID\": 767,\n        \"taskID\": 103,\n        \"parentInstructionID\": 0,\n        \"instruction\": \"Check Air Oil\",\n        \"type\": 1,\n        \"options\": [],\n        \"response\": false,\n        \"instructionFiles\": []\n    },\n    {\n        \"instructionID\": 768,\n        \"taskID\": 103,\n        \"parentInstructionID\": 0,\n        \"instruction\": \"&lt;b&gt;Check Fly wheel belts&lt;/b&gt;\",\n        \"type\": 1,\n        \"options\": [],\n        \"response\": false,\n        \"instructionFiles\": []\n    }\n]"},{"id":"93f1a07d-9617-4406-a614-3f9d3abafefb","name":"Task Instructions","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/tasks/:taskID/instructions?limit=2&page=1","protocol":"https","host":["localhost"],"port":"3000","path":["v2","tasks",":taskID","instructions"],"query":[{"key":"cursor","value":"0","description":"This parameter is a cursor that selects what partID you want to start receiving results at. e.g. passing 137 here will only get you parts with an id greater than 137.","disabled":true},{"key":"limit","value":"2","description":"This parameter is a result limiter. The default is set to return no more than 100 results at one time."},{"key":"page","value":"1","description":"This parameter is used to paginate results based on the limit. Refer to Pagination section for more information."}],"variable":[{"key":"taskID","value":"105"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Last-Page","value":"/v2/tasks/105/instructions?limit=2&page=2","enabled":true},{"key":"Next-Page","value":"/v2/tasks/105/instructions?limit=2&page=2","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"443","enabled":true},{"key":"ETag","value":"W/\"1bb-1w6SRku4WLxLM2UuuolaWtgagkw\"","enabled":true},{"key":"Date","value":"Tue, 19 Apr 2022 20:29:09 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"instructionID\": 772,\n        \"taskID\": 105,\n        \"parentInstructionID\": 775,\n        \"instruction\": \"Schedule belt repair\",\n        \"type\": 14,\n        \"options\": [],\n        \"response\": \"This response type is not supported currently, please contact Limble if you require it.\",\n        \"meta\": {\n            \"associatedTask\": \"/v2/tasks/?tasks=106\"\n        },\n        \"instructionFiles\": []\n    },\n    {\n        \"instructionID\": 773,\n        \"taskID\": 105,\n        \"parentInstructionID\": 0,\n        \"instruction\": \"Remove oil filter.\",\n        \"type\": 1,\n        \"options\": [],\n        \"response\": false,\n        \"instructionFiles\": [\n            {\n                \"fileName\": \"165040769563793-pic.png\",\n                \"link\": \"https://local-content.limblestaging.com/upload-36/items/165032024947299/165040769563793-pic.png\"\n            }\n        ]\n    }\n]"}],"_postman_id":"722c6517-955a-4a62-af50-9d5c9d46ea25"},{"name":"New Task Instruction","event":[{"listen":"test","script":{"id":"22e77e5b-ff42-49e8-8b23-e190be008c4b","exec":["const instructionID = pm.response.json().instructionID;","","pm.test(\"response is created\", () => {","    pm.response.to.have.status(201);","});","","taskID = pm.globals.get('taskID');","pm.test(\"location header is valid\", () => {","    const locationHeader = postman.getResponseHeader('Location')","    pm.expect(locationHeader).to.eql(`/v2/tasks/${taskID}/instructions`);","})","","pm.globals.set('instructionID', instructionID);",""],"type":"text/javascript"}}],"id":"5929ba4f-d93f-47ce-8564-7b7e99f767d8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"type\": 1,\n    \"instruction\": \"Remove oil filter.\"\n}"},"url":"https://localhost:3000/v2/tasks/:taskID/instructions/","description":"<p>This request will create a new Instruction for a Task.</p>\n<table>\n    <thead>\n        <tr>\n            <th>Parameter</th>\n            <th>Type</th>\n            <th>Required?</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>type</td>\n            <td>Int</td>\n            <td>Required</td>\n            <td>The type of each checklist item.<br />\n                1 = Check Box;\n 2 = Option List;\n                3 = Text Box;\n4 = Dropdown List;\n                5 = Date Picker;\n                7 = Label;\n                9 = File or Picture Attachment;\n                11 = Deadline Date Picker;\n                13 = Number;\n                14 = Start WO;\n                15 = Capture Signature.<br />\n                Item types not listed here are not currently supported.  If you would like another item type to be supported, please contact us at product@limblecmms.com.\n            </td>\n        </tr>\n        <tr>\n            <td>instruction</td>\n            <td>string</td>\n            <td>Required</td>\n            <td>The text that guides a User on what to do on this Instruction.</td>\n        </tr>\n        <tr>\n            <td>parentInstructionID</td>\n            <td>Int</td>\n            <td>Required</td>\n            <td>If this is set this Instruction is a 'child' or sub-instruction. This value is the id of the Instruction's parent.  A value of 0 means it does not have a parent.</td>\n        </tr>\n        <tr>\n            <td>parentInstructionOptionID</td>\n            <td>Int</td>\n            <td>Optional</td>\n            <td>If type is set to 2,4 and a parentInstructionID of an existing option/dropdown list is set then the parentInstructionOptionID needs to be set as the ID of the option for which a child option/dropdown list needs to be added.</td>\n        </tr>\n    </tbody>\n</table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","tasks",":taskID","instructions",""],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>taskID of the task you are adding instructions to.</p>\n","type":"text/plain"},"type":"any","value":"{{taskID}}","key":"taskID"}]}},"response":[{"id":"f73671ab-c484-4ecd-8c7b-eec53fc42161","name":"New Task Instruction","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"type\": 1,\n\t\"instruction\": \"hahaha\",\n\t\"parentInstructionID\": 34065\n}"},"url":{"raw":"https://localhost:3000/v2/tasks/:taskID/instructions/","protocol":"https","host":["localhost"],"port":"3000","path":["v2","tasks",":taskID","instructions",""],"variable":[{"key":"taskID","value":"8250","description":"taskID of the task you are adding instructions to."}]}},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Location","value":"/v2/tasks/8250/instructions","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"23","enabled":true},{"key":"ETag","value":"W/\"17-K7sZAuyBoV91EhuvXAM934e1EM8\"","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 18:18:33 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"instructionID\": 34068\n}"}],"_postman_id":"5929ba4f-d93f-47ce-8564-7b7e99f767d8"},{"name":"Update Task Instruction","event":[{"listen":"test","script":{"id":"277ba4ee-e0c8-49a4-94b4-f300c7ba7bcc","exec":["pm.test(\"response should be okay to process\", function () { \r","    pm.response.to.not.be.error; \r","    pm.response.to.not.have.jsonBody(\"error\"); \r","});"],"type":"text/javascript"}}],"id":"c67bc5d4-1e5d-4716-aeac-87d75a0b9da8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"instruction\": \"This is an example instruction\"\n}"},"url":"https://localhost:3000/v2/tasks/instructions/:instructionID","description":"<p>This request updates an Task Instruction.</p>\n<table>\n    <thead>\n        <tr>\n            <th>Parameter</th>\n            <th>Type</th>\n            <th>Required?</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>instruction</td>\n            <td>string</td>\n            <td>Optional</td>\n            <td>The text that guides a User on what to do on this Instruction.</td>\n        </tr>\n        <tr>\n            <td>parentInstructionID</td>\n            <td>Int</td>\n            <td>Optional</td>\n            <td>If this is set this Instruction is a 'child' or sub-instruction. This value of parentInstructionID is the id of the Instruction's parent.  A value of 0 means this Instruction does not have a parent Instruction.</td>\n        </tr>\n    </tbody>\n</table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","tasks","instructions",":instructionID"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>instructionID of the instruction you are editing.</p>\n","type":"text/plain"},"type":"any","value":"64518","key":"instructionID"}]}},"response":[{"id":"f3d7bd98-99c4-4126-9c50-5af534e11504","name":"Update Task Instruction","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"instruction\": \"This is an example instruction\",\n\t\"parentInstructionID\": 34061\n}"},"url":{"raw":"https://localhost:3000/v2/tasks/instructions/:instructionID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","tasks","instructions",":instructionID"],"variable":[{"key":"instructionID","value":"34068","description":"instructionID of the instruction you are editing."}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 23:40:10 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"c67bc5d4-1e5d-4716-aeac-87d75a0b9da8"},{"name":"Delete Task Instruction","event":[{"listen":"test","script":{"id":"3beb948f-1e38-4a53-bb5d-00c17a6ab2a1","exec":["pm.test(\"response should be okay to process\", function () { \r","    pm.response.to.not.be.error; \r","    pm.response.to.not.have.jsonBody(\"error\"); \r","});"],"type":"text/javascript"}}],"id":"916a4a89-f47d-49da-9e41-148f474f1656","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":""},"url":"https://localhost:3000/v2/tasks/instructions/:instructionID","description":"<p>This request removes a Task Instruction from a Task.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","tasks","instructions",":instructionID"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>instructionID of the instruction you are removing.</p>\n","type":"text/plain"},"type":"any","value":"{{instructionID}}","key":"instructionID"}]}},"response":[{"id":"7a08b774-2cb9-4f86-8ed6-13af8a0ebfe8","name":"Delete Task Instruction","originalRequest":{"method":"DELETE","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":""},"url":{"raw":"https://localhost:3000/v2/tasks/instructions/:instructionID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","tasks","instructions",":instructionID"],"variable":[{"key":"instructionID","value":"34063","description":"instructionID of the instruction you are removing."}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 18:19:57 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"916a4a89-f47d-49da-9e41-148f474f1656"},{"name":"Batch Task Instructions","id":"0b385c6d-1fbd-41b4-a9d0-69cc75b8e7d7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/tasks/instructions?tasks=1,2,3,4,5,6,7&limit=100&page=1","description":"<p>Retrieves instructions across multiple tasks, by taskID.</p>\n<p><b>Return data description</b></p>\n\n<table><tbody><tr><th>Property</th><th>Description</th></tr><tr><td><div>parentInstructionID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>This is the instructionID of the Instruction's parent. If this value is 0 then this Instruction does not have a parent.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>instruction</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The text that guides a User on what to do on this Instruction.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>type</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The type of the Instruction. See the request Post New Task Instruction to see a list of possible types and their meaning.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>instructionFiles</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Array of objects that have a file name and a link you can use to download that file. All links are only valid for 15 minutes, a new call will generate a new link.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>options</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Array of objects that have an itemOptionID, itemOptionOrder, and itemOptionText.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>response</div><div><div><div><div></div></div></div><div></div></div></td><td><div>This field is the \"response\" of an instruction i.e. what a user filled out when doing this instruction. The return value changes based on the instruction type:<br />1 Check Box - true/false<br />2 Radio List - if no option is selected, this will be 0. If an option is selected, this will be a number that maps to the itemOptionID of one of the members of the options array.<br />3 Text Box - string<br />4 Dropdown Box - if no option is selected, this will be 0. If an option is selected, this will be a number that maps to the itemOptionID of one of the members of the options array.<br />5 Date Picker - unix time stamp<br />7 Label - labels will never have a user response<br />9 File or Picture Attachment - Array of objects that have a file name and a link you can use to download that image. All links are only valid for 15 minutes, a new call will generate a new link.<br />10 Assign PM - not supported yet.<br />13 Number - integer<br />14 Start WO - not supported yet.<br />15 Capture Signature - Array of objects that have a file name and a link you can use to download that image. All links are only valid for 15 minutes, a new call will generate a new link.<br />16 Request Approval - Array of objects that have a file name and a link you can use to download that image. All links are only valid for 15 minutes, a new call will generate a new link.<br /></div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>meta</div><div><div><div><div></div></div></div><div></div></div></td><td><div>This property is useful to get more information related to the Task Instructions. Different instruction types may have different properties in the meta section.<br />Instruction Type:<br />14 Start WO - If this instruction is completed on the task, the meta property would have an \"associatedTask\" property on it. The associatedTask gives the route for the task created by this instruction. For example, if task 2 was created by a \"Start WO\" instruction on task 1. In GET Task Instruction for task 1, this instruction would have a meta associatedTask property pointing to task 2.</div><div><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","tasks","instructions"],"host":["localhost"],"query":[{"description":{"content":"<p>CSV of task IDs </p>\n","type":"text/plain"},"key":"tasks","value":"1,2,3,4,5,6,7"},{"description":{"content":"<p>Page size (1..1000)</p>\n","type":"text/plain"},"key":"limit","value":"100"},{"description":{"content":"<p>Page-based pagination (mutually exclusive with cursor)</p>\n","type":"text/plain"},"key":"page","value":"1"}],"variable":[]}},"response":[{"id":"cbd09417-eeed-4dcb-9f08-2502bf5e88c8","name":"200 OK","originalRequest":{"header":[],"url":""},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":null,"cookie":[],"responseTime":null,"body":" {\n        \"instructionID\": 8,\n        \"taskID\": 7,\n        \"parentInstructionID\": 0,\n        \"instruction\": \"The part <b>\\\"EX7240 Project Lamp\\\"</b> at \\\"Facility 1\\\" has a quantity of <b>10</b> with a threshold of <b>30</b>.  At least <b>20</b> parts need to be ordered to bring \\\"EX7240 Project Lamp\\\" back in good standing.\",\n        \"type\": 1,\n        \"options\": [],\n        \"response\": true,\n        \"instructionFiles\": []\n    },\n    {\n        \"instructionID\": 19,\n        \"taskID\": 6,\n        \"parentInstructionID\": 0,\n        \"instruction\": \"Inspect Lamp - Insure working condition\",\n        \"type\": 1,\n        \"options\": [],\n        \"response\": false,\n        \"instructionFiles\": []\n    }\n}"}],"_postman_id":"0b385c6d-1fbd-41b4-a9d0-69cc75b8e7d7"},{"name":"Get Task Instruction by ID","id":"c385c270-077b-4ec3-a597-9baaec733c14","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/tasks/instructions/:instructionID","description":"<p>This request retrieves a single Task Instruction by its instructionID.</p>\n<p><strong>Path Parameters:</strong></p>\n<ul>\n<li><code>instructionID</code> (required): The ID of the instruction to retrieve</li>\n</ul>\n<p><strong>Return data description:</strong></p>\n<p>Returns a single instruction object with the following properties:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>instructionID</td>\n<td>The unique identifier for this instruction</td>\n</tr>\n<tr>\n<td>taskID</td>\n<td>The ID of the task this instruction belongs to</td>\n</tr>\n<tr>\n<td>parentInstructionID</td>\n<td>This is the instructionID of the Instruction's parent. If this value is 0 then this Instruction does not have a parent.</td>\n</tr>\n<tr>\n<td>instruction</td>\n<td>The text that guides a User on what to do on this Instruction.</td>\n</tr>\n<tr>\n<td>type</td>\n<td>The type of the Instruction. See the request Post New Task Instruction to see a list of possible types and their meaning.</td>\n</tr>\n<tr>\n<td>instructionFiles</td>\n<td>Array of objects that have a file name and a link you can use to download that file. All links are only valid for 15 minutes, a new call will generate a new link.</td>\n</tr>\n<tr>\n<td>response</td>\n<td>This field is the 'response' of an instruction i.e. what a user filled out when completing this instruction.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Error Responses:</strong></p>\n<ul>\n<li>404: Instruction not found</li>\n</ul>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","tasks","instructions",":instructionID"],"host":["localhost"],"query":[],"variable":[{"id":"3aa91f57-90d9-40db-9515-db430266d746","type":"any","key":"instructionID"}]}},"response":[{"id":"8163d739-2f9c-4400-b223-4e6df5ce8b3a","name":"Success Response","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":""},"url":{"raw":"https://localhost:3000/v2/tasks/instructions/:instructionID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","tasks","instructions",":instructionID"],"variable":[{"key":"instructionID","value":"12345"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":""}],"cookie":[],"responseTime":null,"body":"{\n  \"instructionID\": 12345,\n  \"taskID\": 67890,\n  \"parentInstructionID\": 0,\n  \"instruction\": \"Check oil levels and record reading\",\n  \"type\": 3,\n  \"instructionFiles\": [\n    {\n      \"fileName\": \"oil_check_guide.pdf\",\n      \"downloadLink\": \"https://example.com/files/oil_check_guide.pdf?expires=1234567890\"\n    }\n  ],\n  \"response\": \"Oil level at 75%\"\n}"}],"_postman_id":"c385c270-077b-4ec3-a597-9baaec733c14"}],"id":"eec019fe-30b6-4c98-bcc4-ed277038a076","event":[{"listen":"prerequest","script":{"id":"88cd6f91-6f06-437b-a08a-3ca3ca61265d","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"13dbd51c-d551-4f76-b060-8337ecca9ec3","type":"text/javascript","exec":[""]}}],"_postman_id":"eec019fe-30b6-4c98-bcc4-ed277038a076","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Images","item":[{"name":"Task Instruction Image","event":[{"listen":"test","script":{"id":"f4f8128e-6f08-4d93-9324-18621237f2c7","exec":["pm.test(\"response is created\", () => {","    pm.response.to.have.status(200);","});"],"type":"text/javascript"}}],"id":"d8e38078-d115-4f7a-8372-5038d0e70f8f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"formdata","formdata":[{"key":"image","type":"file","src":"pic.png"}]},"url":"https://localhost:3000/v2/tasks/instructions/:instructionID/image","description":"<p>This request adds instructional images to an Instruction.</p>\n<p><b>Return data description</b></p><table><tbody><tr><th>Property</th><th>Description</th></tr><tr><td>filename</td><td>The name of the file after being uploaded to Limble.</td></tr></tbody></table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","tasks","instructions",":instructionID","image"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"59271","key":"instructionID"}]}},"response":[{"id":"4456ba5d-a7ae-4f3c-8b0a-f97de1b10105","name":"Task Instruction Image","originalRequest":{"method":"PUT","header":[],"body":{"mode":"formdata","formdata":[{"key":"image","type":"file","src":"pic.png"}]},"url":{"raw":"https://localhost:3000/v2/tasks/instructions/:instructionID/image","protocol":"https","host":["localhost"],"port":"3000","path":["v2","tasks","instructions",":instructionID","image"],"variable":[{"key":"instructionID","value":"59271"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"38","enabled":true},{"key":"ETag","value":"W/\"26-QcQnnIUl42jtDnowArRi/CUbQ3s\"","enabled":true},{"key":"Date","value":"Tue, 19 Apr 2022 22:52:27 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"filename\": \"165040874634324-pic.png\"\n}"}],"_postman_id":"d8e38078-d115-4f7a-8372-5038d0e70f8f"},{"name":"Delete Task Instruction Image","event":[{"listen":"test","script":{"id":"f66a6c70-7314-4aab-98d6-68081c17b06f","exec":["pm.test(\"response should be okay to process\", function () { \r","    pm.response.to.not.be.error; \r","    pm.response.to.not.have.jsonBody(\"error\"); \r","});"],"type":"text/javascript","packages":{}}}],"id":"02e92e08-6837-441d-b8f5-b5409f0bac1d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"formdata","formdata":[]},"url":"https://localhost:3000/v2/tasks/instructions/:instructionID/image","description":"<p>This request removes an instructional image from an Instruction.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","tasks","instructions",":instructionID","image"],"host":["localhost"],"query":[{"disabled":true,"description":{"content":"<p>The name of the instruction file that needs to be deleted. This is an optional parameter. If not given, <strong>all</strong> the files attached to an instruction will be deleted.</p>\n","type":"text/plain"},"key":"filename","value":"165040769563793-pic.png"}],"variable":[{"type":"any","value":"59271","key":"instructionID"}]}},"response":[{"id":"979adfc4-96d0-49a1-b8e8-72c151b75df4","name":"Delete Task Instruction Image","originalRequest":{"method":"DELETE","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"formdata","formdata":[]},"url":{"raw":"https://localhost:3000/v2/tasks/instructions/:instructionID/image?filename=164919387137579-pic.png","protocol":"https","host":["localhost"],"port":"3000","path":["v2","tasks","instructions",":instructionID","image"],"query":[{"key":"filename","value":"164919387137579-pic.png","description":"The name of the instruction file that needs to be deleted. This is an optional parameter. If not given, **all** the files attached to an instruction will be deleted."}],"variable":[{"key":"instructionID","value":"58920"}]}},"_postman_previewlanguage":"Text","header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"02e92e08-6837-441d-b8f5-b5409f0bac1d"},{"name":"Upload Task Main Image","id":"a7a8f7a6-13cf-480a-a109-5c2d692b9e29","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"formdata","formdata":[{"key":"image","type":"file","value":null}]},"url":"https://localhost:3000/v2/tasks/:taskID/image","description":"<p>Uploads a main image to a task.</p>\n<p>Parameters:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>In</th>\n<th>Type</th>\n<th>Required</th>\n<th>Default</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>taskID</td>\n<td>path</td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n<td>Task identifier</td>\n</tr>\n<tr>\n<td>image</td>\n<td>form-data</td>\n<td>file</td>\n<td>yes</td>\n<td></td>\n<td>Image file (≤ 50MB). Types: JPEG, PNG, JPG, GIF</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","tasks",":taskID","image"],"host":["localhost"],"query":[],"variable":[{"id":"214c0607-e0df-4d50-8b2a-6767287fae33","type":"any","value":"555","key":"taskID"}]}},"response":[{"id":"f3188e28-f0e7-4338-8e11-285f4aa7e8be","name":"200 OK","originalRequest":{"method":"PUT","header":[],"body":{"mode":"formdata","formdata":[{"key":"image","type":"file"}]},"url":{"raw":"https://localhost:3000/v2/tasks/:taskID/image","protocol":"https","host":["localhost"],"port":"3000","path":["v2","tasks",":taskID","image"],"variable":[{"key":"taskID","value":"555"}]},"description":"Uploads a main image to a task.\n\nParameters:\n\n| Parameter | In | Type | Required | Default | Description |\n|---|---|---|---|---|---|\n| taskID | path | integer | yes |  | Task identifier |\n| image | form-data | file | yes |  | Image file (≤ 50MB). Types: JPEG, PNG, JPG, GIF |"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"a7a8f7a6-13cf-480a-a109-5c2d692b9e29"},{"name":"Delete Task Main Image","id":"550828ac-30a6-4ee9-9baa-0e5db7abfcbf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://localhost:3000/v2/tasks/:taskID/image","description":"<p>Deletes the task's main image.</p>\n<p>Parameters:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>In</th>\n<th>Type</th>\n<th>Required</th>\n<th>Default</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>taskID</td>\n<td>path</td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n<td>Task identifier</td>\n</tr>\n</tbody>\n</table>\n</div><p>Responses:</p>\n<ul>\n<li>200 OK: Image cleared.</li>\n<li>404 Not Found: No image exists for this task.</li>\n</ul>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","tasks",":taskID","image"],"host":["localhost"],"query":[],"variable":[{"id":"3b377e95-a7aa-4c85-add4-cacc4b80d635","type":"any","value":"555","key":"taskID"}]}},"response":[{"id":"06536c3c-6a59-4cd7-996e-63ee9174871a","name":"200 OK","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://localhost:3000/v2/tasks/:taskID/image","protocol":"https","host":["localhost"],"port":"3000","path":["v2","tasks",":taskID","image"],"variable":[{"key":"taskID","value":"555"}]},"description":"Deletes the task's main image.\n\nParameters:\n\n| Parameter | In | Type | Required | Default | Description |\n|---|---|---|---|---|---|\n| taskID | path | integer | yes |  | Task identifier |\n\nResponses:\n- 200 OK: Image cleared.\n- 404 Not Found: No image exists for this task."},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"550828ac-30a6-4ee9-9baa-0e5db7abfcbf"}],"id":"46ecb857-92d6-491a-8752-271f8b95a418","_postman_id":"46ecb857-92d6-491a-8752-271f8b95a418","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Labor","item":[{"name":"Task Labor","event":[{"listen":"test","script":{"id":"0999a450-cabc-45eb-adf9-ddea45b38b5b","exec":["pm.test(\"response must be valid and have a body\", function () {\r","     // assert that the status code is 200\r","     pm.response.to.be.ok; // info, success, redirection, clientError,  serverError, are other variants\r","     // assert that the response has a valid JSON body\r","     pm.response.to.be.withBody;\r","     pm.response.to.be.json; // this assertion also checks if a body  exists, so the above check is not needed\r","});"],"type":"text/javascript","packages":{}}}],"id":"af1d9355-c892-47f7-9762-72d70cc9619c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/tasks/labor?tasks=6,11&users=0&start=1564895015&end=1564895015&limit=100&cursor=0&locations=0&orderBy=-dateLogged","description":"<p>This request gets the labor (time spent) on a Task. A single Task can have multiple times logged onto it.</p>\n<p><b>Return data description</b></p>\n\n<table><tbody><tr><th>Property</th><th>Description</th></tr><tr><td><div>meta</div><div><div><div><div></div></div></div><div></div></div></td><td><div>This property contains shortcuts to other requests that can be used to get more information regarding the Task the labor was logged on and the user who logged the time.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>taskID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The Task ID associated with this labor entry.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>timeSpent</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The amount of time measure in seconds.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>userWage</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The wage per hour.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>description</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A description of the labor entry.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>dateLogged</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The date that this time was logged on the Task.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>billableTime</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The amount of time that is billable for this Task.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>billableRate</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The rate at which this labor entry is billed at.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>categoryID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The labor category this entry is associated with.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>taskName</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The name of the task associated with this labor entry.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>taskPriorityID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The Priority ID of the task this labor entry is associated with.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>taskPriorityLevel</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The Priority value of the task this labor entry is associated with.</div><div><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","tasks","labor"],"host":["localhost"],"query":[{"description":{"content":"<p>This parameter is used to only get specific Tasks. This parameter accepts a comma delimited list of task IDs.</p>\n","type":"text/plain"},"key":"tasks","value":"6,11"},{"description":{"content":"<p>This parameter is used to only get labor records for a specific user or set of users in a comma delimited list.</p>\n","type":"text/plain"},"key":"users","value":"0"},{"description":{"content":"<p>This parameter is used to only get labor that was logged after the unix timestamp passed into the start parameter. For example, all Assets that were last edited after April 18th, 2018.</p>\n","type":"text/plain"},"key":"start","value":"1564895015"},{"description":{"content":"<p>This parameter is used to only get labor that was logged <em>before</em> the unix timestamp passed into the end parameter.</p>\n","type":"text/plain"},"key":"end","value":"1564895015"},{"description":{"content":"<p>This parameter is a result limiter. The default is set to return no more than 100 results at one time.</p>\n","type":"text/plain"},"key":"limit","value":"100"},{"description":{"content":"<p>This parameter is a cursor that selects what taskID you want to start receiving results at. e.g. passing 137 here will only get you tasks with an id greater than 137.</p>\n","type":"text/plain"},"key":"cursor","value":"0"},{"description":{"content":"<p>This parameter is used to retrieve labor entries for particular locations. This parameter accepts a comma delimited list of location IDs.</p>\n","type":"text/plain"},"key":"locations","value":"0"},{"description":{"content":"<p>This parameter is used to order results by their dateLogged property instead of the default ordering. CANNOT be provided alongside the cursor parameter. to paginate in this ordering, use the start or end parameters.</p>\n","type":"text/plain"},"key":"orderBy","value":"-dateLogged"}],"variable":[]}},"response":[{"id":"23d2f83c-28ac-410f-9082-aa939fed72d3","name":"Task Labor","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.limblecmms.com:443/v2/tasks/labor?locations=14296","protocol":"https","host":["api","limblecmms","com"],"port":"443","path":["v2","tasks","labor"],"query":[{"key":"tasks","value":"6,11","description":"This parameter is used to only get specific Tasks. This parameter accepts a comma delimited list of task IDs.","disabled":true},{"key":"users","value":"0","description":"This parameter is used to only get labor records for a specific user or set of users in a comma delimited list.","disabled":true},{"key":"start","value":"1564895015","description":"This parameter is used to only get labor that was logged after the unix timestamp passed into the start parameter. For example, all Assets that were last edited after April 18th, 2018.","disabled":true},{"key":"end","value":"1564895015","description":"This parameter is used to only get labor that was logged *before* the unix timestamp passed into the end parameter.","disabled":true},{"key":"limit","value":"100","description":"This parameter is a result limiter. The default is set to return no more than 100 results at one time.","disabled":true},{"key":"cursor","value":"0","description":"This parameter is a cursor that selects what taskID you want to start receiving results at. e.g. passing 137 here will only get you tasks with an id greater than 137.","disabled":true},{"key":"locations","value":"14296","description":"This parameter is used to only get labor for tasks at a specific Location. This parameter accepts a comma delimited list of location IDs."}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"42855","enabled":true},{"key":"ETag","value":"W/\"a767-NSO933W49rwdfGCWBWY6tC3z7RQ\"","enabled":true},{"key":"Date","value":"Tue, 14 Jan 2020 00:26:06 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"meta\": {\n            \"task\": \"/v2/tasks/?tasks=7\",\n            \"user\": \"/v2/users/?users=341\"\n        },\n        \"userID\": 341,\n        \"timeSpent\": 7200,\n        \"userWage\": 15,\n        \"taskID\": 7,\n        \"taskName\": \"Tire Rotation\",\n        \"tashPriorityID\": 1682,\n        \"description\": null,\n        \"dateLogged\": 1457559196,\n        \"billableTime\": null,\n        \"billableRate\": null,\n        \"categoryID\": null\n    },\n    {\n        \"meta\": {\n            \"task\": \"/v2/tasks/?tasks=16\",\n            \"user\": \"/v2/users/?users=341\"\n        },\n        \"userID\": 341,\n        \"timeSpent\": 3660,\n        \"userWage\": 15,\n        \"taskID\": 16,\n        \"description\": null,\n        \"dateLogged\": 1457569392,\n        \"billableTime\": null,\n        \"billableRate\": null,\n        \"categoryID\": null\n    }\n]"},{"id":"ef71c506-1393-4a6f-aded-c22e846e768d","name":"Task Labor","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/tasks/labor?limit=2","protocol":"https","host":["localhost"],"port":"3000","path":["v2","tasks","labor"],"query":[{"key":"tasks","value":"6,11","description":"This parameter is used to only get specific Tasks. This parameter accepts a comma delimited list of task IDs.","disabled":true},{"key":"users","value":"0","description":"This parameter is used to only get labor records for a specific user or set of users in a comma delimited list.","disabled":true},{"key":"start","value":"1564895015","description":"This parameter is used to only get labor that was logged after the unix timestamp passed into the start parameter. For example, all Assets that were last edited after April 18th, 2018.","disabled":true},{"key":"end","value":"1564895015","description":"This parameter is used to only get labor that was logged *before* the unix timestamp passed into the end parameter.","disabled":true},{"key":"limit","value":"2","description":"This parameter is a result limiter. The default is set to return no more than 100 results at one time."},{"key":"cursor","value":"0","description":"This parameter is a cursor that selects what taskID you want to start receiving results at. e.g. passing 137 here will only get you tasks with an id greater than 137.","disabled":true},{"key":"locations","value":"0","description":"This parameter is used to retrieve labor entries for particular locations. This parameter accepts a comma delimited list of location IDs.","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 24 Jun 2024 16:47:42 GMT","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Transfer-Encoding","value":"chunked","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"vary","value":"Accept-Encoding","enabled":true},{"key":"content-security-policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"x-dns-prefetch-control","value":"off","enabled":true},{"key":"expect-ct","value":"max-age=0","enabled":true},{"key":"x-frame-options","value":"SAMEORIGIN","enabled":true},{"key":"strict-transport-security","value":"max-age=31536000; includeSubDomains; preload","enabled":true},{"key":"x-download-options","value":"noopen","enabled":true},{"key":"x-content-type-options","value":"nosniff","enabled":true},{"key":"x-permitted-cross-domain-policies","value":"none","enabled":true},{"key":"referrer-policy","value":"no-referrer","enabled":true},{"key":"x-xss-protection","value":"0","enabled":true},{"key":"api-feedback-link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"x-ratelimit-limit","value":"4000","enabled":true},{"key":"x-ratelimit-minute-limit","value":"360","enabled":true},{"key":"x-ratelimit-remaining","value":"3982","enabled":true},{"key":"x-ratelimit-first-call","value":"1719246455","enabled":true},{"key":"x-ratelimit-minute-remaining","value":"358","enabled":true},{"key":"x-ratelimit-minute-first-call","value":"1719247652","enabled":true},{"key":"etag","value":"W/\"4bd-7t9W101TcVLikSzWKiMAE4dKsuc\"","enabled":true},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0","enabled":true},{"key":"Content-Encoding","value":"gzip","enabled":true},{"key":"CF-Cache-Status","value":"DYNAMIC","enabled":true},{"key":"Server","value":"cloudflare","enabled":true},{"key":"CF-RAY","value":"898e3380fbf48389-SEA","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"meta\": {\n            \"task\": \"/v2/tasks/?tasks=219\",\n            \"user\": \"/v2/users/?users=230530\"\n        },\n        \"userID\": 230530,\n        \"timeSpent\": 60,\n        \"userWage\": 20,\n        \"taskID\": 219,\n        \"dateLogged\": 1695027601,\n        \"description\": null,\n        \"taskName\": \"Test WO\",\n        \"taskPriorityID\": 28150,\n        \"taskPriorityLevel\": 3,\n        \"billableTime\": null,\n        \"billableRate\": null,\n        \"categoryID\": null\n    },\n    {\n        \"meta\": {\n            \"task\": \"/v2/tasks/?tasks=219\",\n            \"user\": \"/v2/users/?users=230530\"\n        },\n        \"userID\": 230530,\n        \"timeSpent\": 3660,\n        \"userWage\": 20,\n        \"taskID\": 219,\n        \"dateLogged\": 1695027602,\n        \"description\": null,\n        \"taskName\": \"Test WO\",\n        \"taskPriorityID\": 28150,\n        \"taskPriorityLevel\": 3,\n        \"billableTime\": null,\n        \"billableRate\": null,\n        \"categoryID\": null\n    },\n    {\n        \"meta\": {\n            \"task\": \"/v2/tasks/?tasks=47\",\n            \"user\": \"/v2/users/?users=230530\"\n        },\n        \"userID\": 230530,\n        \"timeSpent\": 3600,\n        \"userWage\": 20,\n        \"taskID\": 47,\n        \"taskName\": \"fix the fridge\",\n        \"taskPriorityID\": 28148,\n        \"taskPriorityLevel\": 1,\n        \"description\": null,\n        \"dateLogged\": 1686328138,\n        \"billableTime\": null,\n        \"billableRate\": null,\n        \"categoryID\": null\n    },\n    {\n        \"meta\": {\n            \"task\": \"/v2/tasks/?tasks=160\",\n            \"user\": \"/v2/users/?users=1\"\n        },\n        \"userID\": 1,\n        \"timeSpent\": 0,\n        \"userWage\": 15,\n        \"taskID\": 160,\n        \"taskName\": \"Samsara - Vehicle Fault\",\n        \"taskPriorityID\": null,\n        \"taskPriorityLevel\": null,\n        \"description\": null,\n        \"dateLogged\": 1700502149,\n        \"billableTime\": null,\n        \"billableRate\": null,\n        \"categoryID\": null\n    }\n]"}],"_postman_id":"af1d9355-c892-47f7-9762-72d70cc9619c"},{"name":"Get Labor Categories","event":[{"listen":"test","script":{"id":"0999a450-cabc-45eb-adf9-ddea45b38b5b","exec":["pm.test(\"response must be valid and have a body\", function () {\r","     // assert that the status code is 200\r","     pm.response.to.be.ok; // info, success, redirection, clientError,  serverError, are other variants\r","     // assert that the response has a valid JSON body\r","     pm.response.to.be.withBody;\r","     pm.response.to.be.json; // this assertion also checks if a body  exists, so the above check is not needed\r","});"],"type":"text/javascript","packages":{}}}],"id":"7544ae4d-ea5d-474b-b7ed-8fc1fecffaf6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/tasks/labor/categories","description":"<p>This request gets the labor categories.</p>\n<p><b>Return data description</b></p>\n<table>\n    <thead>\n        <tr>\n            <th>Property</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>categoryID</td>\n            <td>The unique ID for this billing category.</td>\n        </tr>\n        <tr>\n            <td>categoryName</td>\n            <td>The name of this billing category.</td>\n        </tr>\n        <tr>\n            <td>categoryRate</td>\n            <td>The rate per hour of this billing category.</td>\n        </tr>\n    </tbody>\n</table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","tasks","labor","categories"],"host":["localhost"],"query":[{"disabled":true,"description":{"content":"<p>This is a parameter used to string search for a name or partial name of a category this parameter expects a string with the wildcard %.</p>\n","type":"text/plain"},"key":"name","value":"%tech%"},{"disabled":true,"description":{"content":"<p>This parameter is a result limiter. The default is set to return no more than 100 results at one time.</p>\n","type":"text/plain"},"key":"limit","value":"100"},{"disabled":true,"description":{"content":"<p>This parameter is a cursor that selects what taskID you want to start receiving results at. e.g. passing 137 here will only get you tasks with an id greater than 137.</p>\n","type":"text/plain"},"key":"cursor","value":"0"}],"variable":[]}},"response":[{"id":"e5d4852a-02b8-4ae6-8393-9fe2d11e1eda","name":"Get Labor Categories","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/tasks/labor/categories","protocol":"https","host":["localhost"],"port":"3000","path":["v2","tasks","labor","categories"],"query":[{"key":"name","value":"%tech%","description":"This is a parameter used to string search for a name or partial name of a category this parameter expects a string with the wildcard %.","disabled":true},{"key":"limit","value":"100","description":"This parameter is a result limiter. The default is set to return no more than 100 results at one time.","disabled":true},{"key":"cursor","value":"0","description":"This parameter is a cursor that selects what taskID you want to start receiving results at. e.g. passing 137 here will only get you tasks with an id greater than 137.","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"64","enabled":true},{"key":"ETag","value":"W/\"40-ysCQtitfrCAMBhWsIHHlk4l8Rmo\"","enabled":true},{"key":"Date","value":"Tue, 14 Jan 2020 00:24:27 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"categoryID\": 1,\n        \"categoryName\": \"Technical\",\n        \"categoryRate\": 100\n    }\n]"}],"_postman_id":"7544ae4d-ea5d-474b-b7ed-8fc1fecffaf6"}],"id":"a93c19ac-73a7-43b1-8c4a-9ad6e58fda40","event":[{"listen":"prerequest","script":{"id":"cc4cf381-0c46-4df1-a1bd-55044f6dd788","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"c768fefc-fe96-4659-a4ea-0cdd816226b5","type":"text/javascript","exec":[""]}}],"_postman_id":"a93c19ac-73a7-43b1-8c4a-9ad6e58fda40","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Parts","item":[{"name":"Get attached parts","event":[{"listen":"prerequest","script":{"id":"b7f7c09d-8f38-493d-bab9-0fd43e66cad5","exec":[""],"type":"text/javascript"}},{"listen":"test","script":{"id":"76829b65-9f98-4bc5-9b9e-9fc0d078772e","exec":["pm.test(\"response exists\", () => {","    pm.response.to.have.status(200);","});",""],"type":"text/javascript"}}],"id":"e6536185-6ee5-4e7c-b91e-d4ec3cf72861","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"url":"https://localhost:3000/v2/tasks/:taskID/parts","description":"<p>Gets parts attached to a task.</p>\n<p>This request gets parts associated with a task.  A single Task can have multiple parts associated with it.</p>\n<p><b>Return data description</b></p>\n<table>\n    <thead>\n        <tr>\n            <th>Property</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>partID</td>\n            <td>The partID of the part associated to this task.</td>\n        </tr>\n        <tr>\n            <td>quantity</td>\n            <td>The quantity of this part associated to this task.</td>\n        </tr>\n        <tr>\n            <td>usedPrice</td>\n            <td>The price of the part at the time of use.</td>\n        </tr>\n        <tr>\n            <td>partName</td>\n            <td>The name of the part.</td>\n        </tr>\n        <tr>\n            <td>poItemID</td>\n            <td>The unique ID of the PO item associated with this record.</td>\n        </tr>\n    </tbody>\n</table>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","tasks",":taskID","parts"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"{{taskID}}","key":"taskID"}]}},"response":[{"id":"2be086dd-3335-4fbd-854c-e5bc2b1df4ef","name":"Get attached parts","originalRequest":{"method":"GET","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"url":{"raw":"https://localhost:3000/v2/tasks/:taskID/parts","protocol":"https","host":["localhost"],"port":"3000","path":["v2","tasks",":taskID","parts"],"variable":[{"key":"taskID","value":"8466"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"172","enabled":true},{"key":"ETag","value":"W/\"ac-Ej0l5qDTe+vCTifFJGxBVewcFDc\"","enabled":true},{"key":"Date","value":"Thu, 13 Feb 2020 21:42:52 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"partID\": 2934,\n        \"quantity\": 1,\n        \"usedPrice\": 1,\n        \"partName\": \"Lawn Mower Blade\",\n        \"poItemID\": 0\n    },\n    {\n        \"partID\": 2992,\n        \"quantity\": 1,\n        \"usedPrice\": 4.99,\n        \"partName\": \"Cog\",\n        \"poItemID\": 0\n    }\n]"}],"_postman_id":"e6536185-6ee5-4e7c-b91e-d4ec3cf72861"},{"name":"Get all attached parts","event":[{"listen":"prerequest","script":{"id":"4f131dce-c4d2-4a84-bcf6-8e4b8142be36","exec":[""],"type":"text/javascript","packages":{}}},{"listen":"test","script":{"id":"c62c2495-bc9c-4428-b2a5-5a06fa631ffa","exec":["pm.test(\"response exists\", () => {","    pm.response.to.have.status(200);","});",""],"type":"text/javascript","packages":{}}}],"id":"620080f0-38db-45d3-a920-4a5401b11299","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://localhost:3000/v2/tasks/parts?tasks=5,10,12","description":"<p>Gets parts attached to all tasks.</p>\n<p>This request gets parts associated with any task.  A single Task can have multiple parts associated with it.</p>\n<p><b>Return data description</b></p>\n<table>\n    <thead>\n        <tr>\n            <th>Property</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>relationID</td>\n            <td>The identifier that associates parts to tasks.</td>\n        </tr>\n        <tr>\n            <td>partID</td>\n            <td>The partID of the part associated to this task.</td>\n        </tr>\n        <tr>\n            <td>taskID</td>\n            <td>The taskID this part is assoicated with.</td>\n        </tr>\n        <tr>\n            <td>quantity</td>\n            <td>The quantity of this part associated to this task.</td>\n        </tr>\n        <tr>\n            <td>lastEdited</td>\n            <td>The unix timestamp date of the last time this record was edited.</td>\n        </tr>\n        <tr>\n            <td>usedPrice</td>\n            <td>The price of the part at the time of use.</td>\n        </tr>\n        <tr>\n            <td>partName</td>\n            <td>The name of the part.</td>\n        </tr>\n        <tr>\n            <td>poItemID</td>\n            <td>The unique ID of the PO item associated with this record.</td>\n        </tr>\n    </tbody>\n</table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","tasks","parts"],"host":["localhost"],"query":[{"description":{"content":"<p>This parameter is used to get parts attached to a list of tasks. This parameter accepts a comma delimited list of task IDs.</p>\n","type":"text/plain"},"key":"tasks","value":"5,10,12"},{"disabled":true,"description":{"content":"<p>This parameter is used to get only certain. This parameter accepts a comma delimited list of task IDs.</p>\n","type":"text/plain"},"key":"parts","value":"121,112,553"},{"disabled":true,"description":{"content":"<p>This parameter is a cursor that selects what id you want to start receiving results at. e.g. passing 137 here will only get you assets with an id greater than 137.</p>\n","type":"text/plain"},"key":"cursor","value":"137"},{"disabled":true,"description":{"content":"<p>This parameter is a result limiter. The default is set to return no more than 100 results at one time.</p>\n","type":"text/plain"},"key":"limit","value":"100"}],"variable":[]}},"response":[{"id":"c4df6069-c556-48df-8953-1e1d3e547cd0","name":"Get all attached parts","originalRequest":{"method":"GET","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"url":{"raw":"https://localhost:3000/v2/tasks/parts","protocol":"https","host":["localhost"],"port":"3000","path":["v2","tasks","parts"],"query":[{"key":"tasks","value":"5,10,1112","description":"This parameter is used to get parts attached to a list of tasks. This parameter accepts a comma delimited list of task IDs.","disabled":true},{"key":"parts","value":"121,112,553","description":"This parameter is used to get only certain. This parameter accepts a comma delimited list of task IDs.","type":"text","disabled":true},{"key":"cursor","value":"137","description":"This parameter is a cursor that selects what id you want to start receiving results at. e.g. passing 137 here will only get you assets with an id greater than 137.","type":"text","disabled":true},{"key":"limit","value":"100","description":"This parameter is a result limiter. The default is set to return no more than 100 results at one time.","type":"text","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"7599","enabled":true},{"key":"ETag","value":"W/\"1daf-663+1WJFu+qZ3/PSNvpzN5CTDiI\"","enabled":true},{"key":"Date","value":"Tue, 14 Jan 2020 00:24:35 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"relationID\": 2,\n        \"partID\": 2,\n        \"taskID\": 8,\n        \"quantity\": 1,\n        \"lastEdited\": 1519084797,\n        \"usedPrice\": 0,\n        \"partName\": \"X1161P Projector Lamp\",\n        \"poItemID\": 0\n    },\n    {\n        \"relationID\": 3,\n        \"partID\": 3,\n        \"taskID\": 10,\n        \"quantity\": 5,\n        \"lastEdited\": 1519084797,\n        \"usedPrice\": 0,\n        \"partName\": \"Stain Cleaner\",\n        \"poItemID\": 0\n    },\n    {\n        \"relationID\": 8,\n        \"partID\": 4,\n        \"taskID\": 31,\n        \"quantity\": 1,\n        \"lastEdited\": 1519084797,\n        \"usedPrice\": 0,\n        \"partName\": \"Spark Plugs\",\n        \"poItemID\": 0\n    }\n]"}],"_postman_id":"620080f0-38db-45d3-a920-4a5401b11299"},{"name":"Attach part to task","event":[{"listen":"prerequest","script":{"id":"4f131dce-c4d2-4a84-bcf6-8e4b8142be36","exec":[""],"type":"text/javascript"}},{"listen":"test","script":{"id":"c62c2495-bc9c-4428-b2a5-5a06fa631ffa","exec":["pm.test(\"response is created\", () => {","    pm.response.to.have.status(200);","});",""],"type":"text/javascript"}}],"id":"3a1ff249-51d9-4172-90b8-96b68961aaa5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"partID\": {{partID}},\n\t\"quantity\": 10\n}"},"url":"https://localhost:3000/v2/tasks/:taskID/parts","description":"<p>This request associates a part to a task.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","tasks",":taskID","parts"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"{{taskID}}","key":"taskID"}]}},"response":[{"id":"4ac166d2-ae83-440a-b9f8-14f01b27d421","name":"Attach part to task","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"partID\": {{partID}},\n\t\"quantity\": 10\n}"},"url":{"raw":"https://localhost:3000/v2/tasks/:taskID/parts","protocol":"https","host":["localhost"],"port":"3000","path":["v2","tasks",":taskID","parts"],"variable":[{"key":"taskID","value":"8290"}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Thu, 12 Sep 2019 17:51:02 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"3a1ff249-51d9-4172-90b8-96b68961aaa5"},{"name":"Delete part from task","event":[{"listen":"prerequest","script":{"id":"4f131dce-c4d2-4a84-bcf6-8e4b8142be36","exec":[""],"type":"text/javascript"}},{"listen":"test","script":{"id":"c62c2495-bc9c-4428-b2a5-5a06fa631ffa","exec":["pm.test(\"response is created\", () => {","    pm.response.to.have.status(200);","});",""],"type":"text/javascript"}}],"id":"c5634e7e-63ae-4ecd-865a-61e130a7ddb2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/x-www-form-urlencoded"}],"url":"https://localhost:3000/v2/tasks/:taskID/:partID","description":"<p>This request deletes a part from a task.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","tasks",":taskID",":partID"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"{{taskID}}","key":"taskID"},{"type":"any","value":"{{partID}}","key":"partID"}]}},"response":[{"id":"7e040b1a-4765-43a1-abcc-e5e05dad7f6c","name":"Delete part from task","originalRequest":{"method":"DELETE","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/x-www-form-urlencoded"}],"url":{"raw":"https://localhost:3000/v2/tasks/:taskID/:partID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","tasks",":taskID",":partID"],"variable":[{"key":"taskID","value":"{{taskID}}"},{"key":"partID","value":"{{partID}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Thu, 12 Sep 2019 19:30:55 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"c5634e7e-63ae-4ecd-865a-61e130a7ddb2"}],"id":"aa0e69bc-5060-4449-b7ff-2cb4bf6dcdad","_postman_id":"aa0e69bc-5060-4449-b7ff-2cb4bf6dcdad","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Comments","item":[{"name":"Task Comments","event":[{"listen":"test","script":{"id":"90f9c3e5-d89b-4128-b311-d060a33088d5","exec":["pm.test(\"response must be valid and have a body\", function () {\r","     // assert that the status code is 200\r","     pm.response.to.be.ok; // info, success, redirection, clientError,  serverError, are other variants\r","     // assert that the response has a valid JSON body\r","     pm.response.to.be.withBody;\r","     pm.response.to.be.json; // this assertion also checks if a body  exists, so the above check is not needed\r","});"],"type":"text/javascript"}}],"id":"432252c6-f3dd-4701-bf33-61040a45d6da","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/tasks/:taskID/comments","description":"<p>This request gets all Task Comments associated with a Task.</p>\n<p><b>Return data description</b></p>\n\n<table><tbody><tr><th>Property</th><th>Description</th></tr><tr><td><div>commentID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>This is the commentID of comment.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>comment</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The text comment that was entered by the user.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>timestamp</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The date this comment was created. This is a unix timestamp.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>userID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The ID of the user that made the comment.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>commentEmailAddress</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The email address of the external user that made this comment. This is only populated if the comment was made by an external user via the comment reply system.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>showExternalUsers</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The comment can be seen by external users or not.<br />default value : true</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>commentFiles</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Array of objects that have a file name and a link you can use to download that file. All links are only valid for 15 minutes, a new call will generate a new link.</div><div><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","tasks",":taskID","comments"],"host":["localhost"],"query":[{"disabled":true,"description":{"content":"<p>This parameter is a cursor that selects what commentID you want to start receiving results at. e.g. passing 137 here will only get you parts with an id greater than 137.</p>\n","type":"text/plain"},"key":"cursor","value":"0"},{"disabled":true,"description":{"content":"<p>This parameter is a result limiter. The default is set to return no more than 100 results at one time.</p>\n","type":"text/plain"},"key":"limit","value":"100"}],"variable":[{"description":{"content":"<p>taskID of the task you are getting comments for.</p>\n","type":"text/plain"},"type":"any","value":"19696","key":"taskID"}]}},"response":[{"id":"1a0a21fd-38ac-46aa-aa24-3c7c343ad92a","name":"Task Comments","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/tasks/:taskID/comments","protocol":"https","host":["localhost"],"port":"3000","path":["v2","tasks",":taskID","comments"],"query":[{"key":"cursor","value":"0","description":"This parameter is a cursor that selects what commentID you want to start receiving results at. e.g. passing 137 here will only get you parts with an id greater than 137.","disabled":true},{"key":"limit","value":"100","description":"This parameter is a result limiter. The default is set to return no more than 100 results at one time.","disabled":true}],"variable":[{"key":"taskID","value":"19696","description":"taskID of the task you are getting comments for."}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"X-RateLimit-Limit","value":"4000","enabled":true},{"key":"X-RateLimit-Minute-Limit","value":"360","enabled":true},{"key":"X-RateLimit-Remaining","value":"3691","enabled":true},{"key":"X-RateLimit-First-Call","value":"1694457371","enabled":true},{"key":"X-RateLimit-Minute-Remaining","value":"359","enabled":true},{"key":"X-RateLimit-Minute-First-Call","value":"1694458796","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"952","enabled":true},{"key":"ETag","value":"W/\"3b8-4xNVfUOSzHrJkywcvVLOPDmMH4E\"","enabled":true},{"key":"Date","value":"Mon, 11 Sep 2023 18:59:56 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"commentID\": 18018,\n        \"comment\": \"Triggered at: 41 Mileage | Schedule set at: Every 15 Mileage\",\n        \"commentFiles\": [],\n        \"timestamp\": 1694110194,\n        \"userID\": 340,\n        \"commentEmailAddress\": null,\n        \"showExternalUsers\": true\n    },\n    {\n        \"commentID\": 18019,\n        \"comment\": \"This Task was assigned to Unassigned\",\n        \"commentFiles\": [],\n        \"timestamp\": 1694110195,\n        \"userID\": 340,\n        \"commentEmailAddress\": null,\n        \"showExternalUsers\": true\n    },\n    {\n        \"commentID\": 18031,\n        \"comment\": \"This Task's Status was changed from name4 to name4\",\n        \"commentFiles\": [],\n        \"timestamp\": 1694457643,\n        \"userID\": 340,\n        \"commentEmailAddress\": null,\n        \"showExternalUsers\": true\n    },\n    {\n        \"commentID\": 18032,\n        \"comment\": \"This Task's Status was changed from name4 to name444\",\n        \"commentFiles\": [],\n        \"timestamp\": 1694457678,\n        \"userID\": 340,\n        \"commentEmailAddress\": null,\n        \"showExternalUsers\": true\n    },\n    {\n        \"commentID\": 18057,\n        \"comment\": \"task name\",\n        \"commentFiles\": [],\n        \"timestamp\": 1694458584,\n        \"userID\": 340,\n        \"commentEmailAddress\": null,\n        \"showExternalUsers\": true\n    },\n    {\n        \"commentID\": 18058,\n        \"comment\": \"complete the task\",\n        \"commentFiles\": [],\n        \"timestamp\": 1694458628,\n        \"userID\": 340,\n        \"commentEmailAddress\": null,\n        \"showExternalUsers\": false\n    }\n]"}],"_postman_id":"432252c6-f3dd-4701-bf33-61040a45d6da"},{"name":"Add Task Comments","event":[{"listen":"test","script":{"id":"386a7c5f-49a6-4f76-b723-060dd138bf47","exec":["pm.test(\"response must be valid and have a body\", function () {\r","     // assert that the status code is 200\r","     pm.response.to.be.ok; // info, success, redirection, clientError,  serverError, are other variants\r","     // assert that the response has a valid JSON body\r","     pm.response.to.be.withBody;\r","     pm.response.to.be.json; // this assertion also checks if a body  exists, so the above check is not needed\r","});"],"type":"text/javascript"}}],"id":"d491b669-45d0-4713-8010-331bf25ea87e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n\t\"comment\": \"complete the task\",\r\n    \"showExternalUsers\": false\r\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/tasks/:taskID/comments","description":"<p>This request adds a comment to a task.</p>\n<table><tbody><tr><th>Parameter</th><th>Type</th><th>Required?</th><th>Description</th></tr><tr><td><div>comment</div><div><div><div><div></div></div></div><div></div></div></td><td><div>String</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Required</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The comment to be added.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>showExternalUsers</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Boolean</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>This will show the comment to external users. The default value is true.</div><div><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","tasks",":taskID","comments"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>taskID of the task you are adding a comment to.</p>\n","type":"text/plain"},"type":"any","value":"19696","key":"taskID"}]}},"response":[{"id":"11e5b3a1-5d0f-482d-90e3-71761fe262ed","name":"Add Task Comments","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n\t\"comment\": \"complete the task\",\r\n    \"showExternalUsers\": false\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://localhost:3000/v2/tasks/:taskID/comments","protocol":"https","host":["localhost"],"port":"3000","path":["v2","tasks",":taskID","comments"],"variable":[{"key":"taskID","value":"19696","description":"taskID of the task you are adding a comment to."}]}},"_postman_previewlanguage":"Text","header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"d491b669-45d0-4713-8010-331bf25ea87e"}],"id":"63b9cc3a-d7ef-4c94-a58e-d03ee6c75adc","event":[{"listen":"prerequest","script":{"id":"c4fbf365-89f3-4b73-a105-84be77162704","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"8bf4c5dd-6cad-49f0-ac84-f349b8cbfb12","type":"text/javascript","exec":[""]}}],"_postman_id":"63b9cc3a-d7ef-4c94-a58e-d03ee6c75adc","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Tags","item":[{"name":"Tags","id":"f9d8cad0-e528-404a-813e-79db72d48459","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/tasks/:taskID/tags","description":"<p>This request gets all Custom Tags associated with a Task.</p>\n<p><b>Return data description</b></p>\n\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>tags</td>\n<td>An array of custom tags associated with the task.</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","tasks",":taskID","tags"],"host":["localhost"],"query":[],"variable":[{"id":"703c43d6-9a51-4209-9d75-bf4cdcf994da","type":"any","value":"1160","key":"taskID"}]}},"response":[],"_postman_id":"f9d8cad0-e528-404a-813e-79db72d48459"},{"name":"PUT Apply Task Tags","id":"6bcb677b-fffa-4907-b648-791dba033441","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"tags\": [\"@Food\", \"@Safety\"]\n}"},"url":"https://localhost:3000/v2/tasks/:taskID/tags","description":"<p>Applies one or more existing custom tags to a task. Tags must already exist at the account level (see POST /v2/tags to create new tags).</p>\n<p>Body:</p>\n<ul>\n<li>tags: string[] — List of tags, or</li>\n<li>tag: string — Single tag.</li>\n</ul>\n<p>Success Response (200):</p>\n<ul>\n<li>created: true</li>\n<li>name?: string — Present when a single tag was added; canonical without trailing ';'.</li>\n<li>sanitizations?: string[] — Applied normalizations.</li>\n<li>note?: string — Present when input had multiple '@' characters.</li>\n<li>tags: string[] — Updated canonical tags with trailing ';'.</li>\n</ul>\n<p>Conflicts (409):</p>\n<ul>\n<li>Single: { created: false, message: 'Tag already exists', name, tags }</li>\n<li>Multiple: { created: false, message: 'No new tags to add', tags }</li>\n</ul>\n<p>Errors:</p>\n<ul>\n<li>404: { created: false, message, invalidTag(s), tags, availableTags } — Tag(s) don't exist at account level.</li>\n<li>400: { added: [], message: string } — Invalid input (semicolons, empty tags, etc.).</li>\n</ul>\n<p>Notes:</p>\n<ul>\n<li>Tags MUST exist in the account's tag definitions before they can be applied to tasks.</li>\n<li>Validation is case-insensitive (e.g., '@urgent' matches '@Urgent').</li>\n<li>Semicolons in input are rejected.</li>\n<li>The availableTags field in 404 responses shows which tags can be used.</li>\n</ul>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","tasks",":taskID","tags"],"host":["localhost"],"query":[],"variable":[{"id":"1df98f91-58a6-4a48-ab32-b34fb1f91c3d","type":"any","value":"1160","key":"taskID"}]}},"response":[{"id":"1e72b7a6-bca8-47aa-8499-7a9182fa0596","name":"200 Success - Multiple Tags","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"tags\": [\"@Food\", \"@Safety\"]\n}"},"url":{"raw":"https://localhost:3000/v2/tasks/:taskID/tags","protocol":"https","host":["localhost"],"port":"3000","path":["v2","tasks",":taskID","tags"],"variable":[{"key":"taskID","value":"1160"}]},"description":"Applies one or more existing custom tags to a task. Tags must already exist at the account level (see POST /v2/tags to create new tags).\n\nBody:\n- tags: string[] — List of tags, or\n- tag: string — Single tag.\n\nSuccess Response (200):\n- created: true\n- name?: string — Present when a single tag was added; canonical without trailing ';'.\n- sanitizations?: string[] — Applied normalizations.\n- note?: string — Present when input had multiple '@' characters.\n- tags: string[] — Updated canonical tags with trailing ';'.\n\nConflicts (409):\n- Single: { created: false, message: 'Tag already exists', name, tags }\n- Multiple: { created: false, message: 'No new tags to add', tags }\n\nErrors:\n- 404: { created: false, message, invalidTag(s), tags, availableTags } — Tag(s) don't exist at account level.\n- 400: { added: [], message: string } — Invalid input (semicolons, empty tags, etc.).\n\nNotes:\n- Tags MUST exist in the account's tag definitions before they can be applied to tasks.\n- Validation is case-insensitive (e.g., '@urgent' matches '@Urgent').\n- Semicolons in input are rejected.\n- The availableTags field in 404 responses shows which tags can be used."},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"created\": true,\n  \"tags\": [\n    \"@Food;\",\n    \"@Safety;\"\n  ]\n}"},{"id":"ca97ec0e-9563-4e0b-b3cb-4fc185ce4957","name":"404 Not Found - Multiple Tags","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"tags\": [\"@Food\", \"@Safety\"]\n}"},"url":{"raw":"https://localhost:3000/v2/tasks/:taskID/tags","protocol":"https","host":["localhost"],"port":"3000","path":["v2","tasks",":taskID","tags"],"variable":[{"key":"taskID","value":"1160"}]},"description":"Applies one or more existing custom tags to a task. Tags must already exist at the account level (see POST /v2/tags to create new tags).\n\nBody:\n- tags: string[] — List of tags, or\n- tag: string — Single tag.\n\nSuccess Response (200):\n- created: true\n- name?: string — Present when a single tag was added; canonical without trailing ';'.\n- sanitizations?: string[] — Applied normalizations.\n- note?: string — Present when input had multiple '@' characters.\n- tags: string[] — Updated canonical tags with trailing ';'.\n\nConflicts (409):\n- Single: { created: false, message: 'Tag already exists', name, tags }\n- Multiple: { created: false, message: 'No new tags to add', tags }\n\nErrors:\n- 404: { created: false, message, invalidTag(s), tags, availableTags } — Tag(s) don't exist at account level.\n- 400: { added: [], message: string } — Invalid input (semicolons, empty tags, etc.).\n\nNotes:\n- Tags MUST exist in the account's tag definitions before they can be applied to tasks.\n- Validation is case-insensitive (e.g., '@urgent' matches '@Urgent').\n- Semicolons in input are rejected.\n- The availableTags field in 404 responses shows which tags can be used."},"status":"Not Found","code":404,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"created\": false,\n  \"message\": \"2 tag(s) do not exist. Please create them first using POST /v2/tags\",\n  \"invalidTags\": [\n    \"@Invalid\",\n    \"@AlsoInvalid\"\n  ],\n  \"tags\": [],\n  \"availableTags\": [\n    \"@Urgent;\",\n    \"@Safety;\",\n    \"@Maintenance;\",\n    \"@Food;\"\n  ]\n}"},{"id":"aa7fcf44-c98c-4708-ba06-094a19015478","name":"400 Bad Request - Invalid Input","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"tags\": [\"@Food\", \"@Safety\"]\n}"},"url":{"raw":"https://localhost:3000/v2/tasks/:taskID/tags","protocol":"https","host":["localhost"],"port":"3000","path":["v2","tasks",":taskID","tags"],"variable":[{"key":"taskID","value":"1160"}]},"description":"Applies one or more existing custom tags to a task. Tags must already exist at the account level (see POST /v2/tags to create new tags).\n\nBody:\n- tags: string[] — List of tags, or\n- tag: string — Single tag.\n\nSuccess Response (200):\n- created: true\n- name?: string — Present when a single tag was added; canonical without trailing ';'.\n- sanitizations?: string[] — Applied normalizations.\n- note?: string — Present when input had multiple '@' characters.\n- tags: string[] — Updated canonical tags with trailing ';'.\n\nConflicts (409):\n- Single: { created: false, message: 'Tag already exists', name, tags }\n- Multiple: { created: false, message: 'No new tags to add', tags }\n\nErrors:\n- 404: { created: false, message, invalidTag(s), tags, availableTags } — Tag(s) don't exist at account level.\n- 400: { added: [], message: string } — Invalid input (semicolons, empty tags, etc.).\n\nNotes:\n- Tags MUST exist in the account's tag definitions before they can be applied to tasks.\n- Validation is case-insensitive (e.g., '@urgent' matches '@Urgent').\n- Semicolons in input are rejected.\n- The availableTags field in 404 responses shows which tags can be used."},"status":"Bad Request","code":400,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"added\": [],\n  \"name\": \"@Bad;Name\",\n  \"message\": \"The ';' character is not allowed in custom tags.\",\n  \"sanitizations\": []\n}"}],"_postman_id":"6bcb677b-fffa-4907-b648-791dba033441"},{"name":"DELETE Remove Task Tag","id":"6bf46992-f610-43cf-82a0-a28a7aafc898","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://localhost:3000/v2/tasks/:taskID/tags/:tagRaw","description":"<p>Removes a single custom tag from a task.</p>\n<p>Path:</p>\n<ul>\n<li>tag: string — Tag to remove; may be raw or canonical; server normalizes.</li>\n</ul>\n<p>Success Response (200):</p>\n<ul>\n<li>deleted: true</li>\n<li>name: string — Canonical tag (includes trailing ';').</li>\n<li>tags: string[] — Updated canonical tags.</li>\n</ul>\n<p>Errors:</p>\n<ul>\n<li>404: { message: 'Tag not found' }</li>\n<li>400: { removed: null, message: string } — Invalid input.</li>\n</ul>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","tasks",":taskID","tags",":tagRaw"],"host":["localhost"],"query":[],"variable":[{"id":"67abc9c2-76f3-4816-af82-e96d9e16aa45","type":"any","value":"","key":"taskID"},{"id":"a20f2b3d-0df4-4cb1-a62e-14aed6439ac9","type":"any","value":"","key":"tagRaw"}]}},"response":[{"id":"03331176-b87e-4e6f-b7ce-2f2965794387","name":"200 Deleted","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://localhost:3000/v2/tasks/:taskID/tags/:tagRaw","protocol":"https","host":["localhost"],"port":"3000","path":["v2","tasks",":taskID","tags",":tagRaw"],"variable":[{"key":"taskID","value":""},{"key":"tagRaw","value":""}]},"description":"Removes a single custom tag from a task.\n\nPath:\n- tag: string — Tag to remove; may be raw or canonical; server normalizes.\n\nSuccess Response (200):\n- deleted: true\n- name: string — Canonical tag (includes trailing ';').\n- tags: string[] — Updated canonical tags.\n\nErrors:\n- 404: { message: 'Tag not found' }\n- 400: { removed: null, message: string } — Invalid input."},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"deleted\": true,\n  \"name\": \"@Food;\",\n  \"tags\": [\n    \"@Safety;\"\n  ]\n}"},{"id":"d0d5d1ff-a28c-46be-bf08-cb735805ffa1","name":"404 Not Found","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://localhost:3000/v2/tasks/:taskID/tags/:tagRaw","protocol":"https","host":["localhost"],"port":"3000","path":["v2","tasks",":taskID","tags",":tagRaw"],"variable":[{"key":"taskID","value":""},{"key":"tagRaw","value":""}]},"description":"Removes a single custom tag from a task.\n\nPath:\n- tag: string — Tag to remove; may be raw or canonical; server normalizes.\n\nSuccess Response (200):\n- deleted: true\n- name: string — Canonical tag (includes trailing ';').\n- tags: string[] — Updated canonical tags.\n\nErrors:\n- 404: { message: 'Tag not found' }\n- 400: { removed: null, message: string } — Invalid input."},"status":"Not Found","code":404,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"message\": \"Tag not found\"\n}"},{"id":"37bc64c0-e68f-46f9-8a22-2ae61d11300f","name":"400 Bad Request - Invalid Input","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://localhost:3000/v2/tasks/:taskID/tags/:tagRaw","protocol":"https","host":["localhost"],"port":"3000","path":["v2","tasks",":taskID","tags",":tagRaw"],"variable":[{"key":"taskID","value":""},{"key":"tagRaw","value":""}]},"description":"Removes a single custom tag from a task.\n\nPath:\n- tag: string — Tag to remove; may be raw or canonical; server normalizes.\n\nSuccess Response (200):\n- deleted: true\n- name: string — Canonical tag (includes trailing ';').\n- tags: string[] — Updated canonical tags.\n\nErrors:\n- 404: { message: 'Tag not found' }\n- 400: { removed: null, message: string } — Invalid input."},"status":"Bad Request","code":400,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"removed\": null,\n  \"message\": \"Invalid tag name. A tag must have exactly one leading @ and non-empty content after normalization.\"\n}"}],"_postman_id":"6bf46992-f610-43cf-82a0-a28a7aafc898"}],"id":"ab2daf54-a8b8-4de3-aa26-58f0d3055999","_postman_id":"ab2daf54-a8b8-4de3-aa26-58f0d3055999","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Work Request Submissions","item":[{"name":"List WR Submissions","id":"9b73e54c-bb0f-4a25-be1d-81d03f716fcb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/work-requests/work-request-submissions?orderBy=createdAt&locationIDs=1&statuses=open&limit=100&createdDateStart=2025-06-20T20:51:13.000Z&createdDateEnd=2025-06-20T20:51:13.000Z&workRequestIDs=1,2,3&page=1&cursor=1","description":"<p>Lists WR submissions</p>\n<p>Return data description:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Property</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>workRequestSubmissionId</td>\n<td>The unique identifier of the work request submission.</td>\n</tr>\n<tr>\n<td>status</td>\n<td>Pending, Approved or Rejected.</td>\n</tr>\n<tr>\n<td>createdByUserId</td>\n<td>The unique identifier of the user who created the work request submission.</td>\n</tr>\n<tr>\n<td>createdAt</td>\n<td>The date the work request submission was created. The timestamp is in the following format: YYYY-MM-DD (2025-07-02) HH:MM:SS (21:36:31)</td>\n</tr>\n<tr>\n<td>updatedAt</td>\n<td>The date the work request submission was last updated. The timestamp is in the following format: YYYY-MM-DD (2025-07-02) HH:MM:SS (21:36:31)</td>\n</tr>\n<tr>\n<td>deletedAt</td>\n<td>The date the work request submission was deleted. The timestamp is in the following format: YYYY-MM-DD (2025-07-02) HH:MM:SS (21:36:31) Will be NULL if the submission is not deleted.</td>\n</tr>\n<tr>\n<td>reviewedByUserId</td>\n<td>The unique identifier of the user who reviewed the submission.</td>\n</tr>\n<tr>\n<td>reviewedAt</td>\n<td>The date the work request submission was reviewed. The timestamp is in the following format: YYYY-MM-DD (2025-07-02) HH:MM:SS (21:36:31) Will be NULL if the submission has not yet been reviewed</td>\n</tr>\n<tr>\n<td>reviewedReason</td>\n<td>The predefined reason the work request was declined.</td>\n</tr>\n<tr>\n<td>additionalNotes</td>\n<td>Any additional notes the person who declined the submission wishes to leave.</td>\n</tr>\n<tr>\n<td>locationId</td>\n<td>The unique identifier of the location the submission belongs to.</td>\n</tr>\n<tr>\n<td>assetId</td>\n<td>The unique identifier of the asset associated with the submission.</td>\n</tr>\n<tr>\n<td>priorityId</td>\n<td>The unique identifier of the priority of the submission.</td>\n</tr>\n<tr>\n<td>dueDateUnit</td>\n<td>The unit of measure used to communicate when the task will be due. Can be “days” or “hours”.</td>\n</tr>\n<tr>\n<td>requestInformation</td>\n<td>The information filled out in the Work Request Portal. Includes any of the following fields in JSON format. customerCode requesterName requesterEmail requesterPhone timeUnix customTag customFieldOne customFieldTwo customFieldThree customFieldOneTitle customFieldTwoTitle customFieldThreeTitle customFieldDropdownAnswerOne customFieldDropdownAnswerTwo customFieldDropdownAnswerThree customDropdownTitleOne customDropdownTitleTwo customDropdownTitleThree customDropdownOptionsOne customDropdownOptionsTwo customDropdownOptionsThree geoLocation</td>\n</tr>\n<tr>\n<td>customerID</td>\n<td>The unique identifier of the customer account.</td>\n</tr>\n<tr>\n<td>requestTitle</td>\n<td>The title of the submission.</td>\n</tr>\n<tr>\n<td>assignedToProfileId</td>\n<td>The Limble profile the submission is assigned to. This is used to determine what team or individual is assigned to review the submission.</td>\n</tr>\n<tr>\n<td>requestDescription</td>\n<td>The description of the problem filled out in the Work Request Portal.</td>\n</tr>\n<tr>\n<td>checklistID</td>\n<td>The unique identifier of the task generated from the submission when it is approved. Will be NULL if submission status is declined or pending.</td>\n</tr>\n<tr>\n<td>requesterName</td>\n<td>The name of the person who submitted the work request submission.</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","work-requests","work-request-submissions"],"host":["localhost"],"query":[{"description":{"content":"<p>This parameter is used to order results by their createdAt, status, requestTitle, workRequestSubmissionID, and location property instead of the default ordering. each property can be flipped reverse by putting a minus before the property e.g. \"-createdAt\".</p>\n","type":"text/plain"},"key":"orderBy","value":"createdAt"},{"disabled":true,"description":{"content":"<p>Free-text search</p>\n","type":"text/plain"},"key":"search","value":"pump"},{"description":{"content":"<p>This parameter is used to only get work requests at a specific group of Locations. This parameter accepts a comma delimited list of Location IDs.</p>\n","type":"text/plain"},"key":"locationIDs","value":"1"},{"description":{"content":"<p>CSV of statuses</p>\n","type":"text/plain"},"key":"statuses","value":"open"},{"description":{"content":"<p>Max rows</p>\n","type":"text/plain"},"key":"limit","value":"100"},{"disabled":true,"description":{"content":"<p>CSV of field names (letters only); forwarded upstream as array</p>\n","type":"text/plain"},"key":"columns","value":""},{"description":{"content":"<p>ISO 8601 start</p>\n","type":"text/plain"},"key":"createdDateStart","value":"2025-06-20T20:51:13.000Z"},{"description":{"content":"<p>ISO 8601 end (≥ start)</p>\n","type":"text/plain"},"key":"createdDateEnd","value":"2025-06-20T20:51:13.000Z"},{"description":{"content":"<p>CSV of WR IDs</p>\n","type":"text/plain"},"key":"workRequestIDs","value":"1,2,3"},{"description":{"content":"<p>Page-based pagination (mutually exclusive with cursor)</p>\n","type":"text/plain"},"key":"page","value":"1"},{"description":{"content":"<p>Cursor for pagination (forbidden with page)</p>\n","type":"text/plain"},"key":"cursor","value":"1"}],"variable":[]}},"response":[{"id":"69eeb3a8-05ad-439a-927e-f2a364ac432d","name":"200 OK","originalRequest":{"header":[],"url":""},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":null,"cookie":[],"responseTime":null,"body":"[\n    {\n        \"workRequestSubmissionId\": 1,\n        \"status\": \"approved\",\n        \"createdByUserId\": 1234,\n        \"createdAt\": \"2025-06-20T20:51:13.000Z\",\n        \"customerID\": 1234,\n        \"updatedAt\": \"2025-08-18T16:56:27.000Z\",\n        \"deletedAt\": \"2025-06-20T14:51:13.000Z\",\n        \"reviewedByUserId\": 1234,\n        \"reviewedAt\": \"2025-08-18T16:56:27.000Z\",\n        \"reviewedReason\": null,\n        \"additionalNotes\": null,\n        \"locationID\": 1234,\n        \"assetID\": 0,\n        \"priorityID\": null,\n        \"dueDateUnit\": \"days\",\n        \"requestTitle\": \"test\",\n        \"requestInformation\": {\n            \"customerCode\": \"fdle6w1234\",\n            \"requesterEmail\": \"test.test@limblecmms.com\",\n            \"requesterName\": \"\",\n            \"requesterPhone\": \"8018773501\",\n            \"timeUnix\": 1750437000,\n            \"customTag\": \"\",\n            \"dueDate\": 0,\n            \"geoLocation\": \"null\",\n            \"customFieldOne\": \"\",\n            \"customFieldTwo\": \"\",\n            \"customFieldThree\": \"\",\n            \"customFieldOneTitle\": \"global setting\",\n            \"customFieldTwoTitle\": \"Custom field 2 instructions 22222\",\n            \"customFieldThreeTitle\": \"Custom field 3 instructions  33333\",\n            \"customFieldDropdownAnswerOne\": \"\",\n            \"customFieldDropdownAnswerTwo\": \"\",\n            \"customFieldDropdownAnswerThree\": \"\",\n            \"customDropdownTitleOne\": \"\",\n            \"customDropdownTitleTwo\": \"a\",\n            \"customDropdownTitleThree\": \"\",\n            \"customDropdownOptionsOne\": [\n                {\n                    \"userID\": -1,\n                    \"profileID\": -1,\n                    \"tags\": \"@Dryer Vent;@Bill to Parent;\",\n                    \"priority\": -1,\n                    \"name\": \"\",\n                    \"hint\": \"\",\n                    \"checklistID\": 0,\n                    \"order\": 1,\n                    \"showExtra\": true,\n                    \"option\": \"\",\n                    \"priorityObj\": {\n                        \"change\": false\n                    }\n                }\n            ]\n        }\n]"}],"_postman_id":"9b73e54c-bb0f-4a25-be1d-81d03f716fcb"}],"id":"68b1fe0b-04d6-4be0-a7db-63c920f36820","_postman_id":"68b1fe0b-04d6-4be0-a7db-63c920f36820","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"New Task","event":[{"listen":"test","script":{"id":"22239bf4-4ac7-4572-9bfb-eb526745c258","exec":["const taskID = pm.response.json().taskID;","","pm.test(\"response is created\", () => {","    pm.response.to.have.status(201);","});","","pm.test(\"location header is valid\", () => {","    const locationHeader = postman.getResponseHeader('Location')","    pm.expect(locationHeader).to.eql(`/v2/tasks/?tasks=${taskID}`);","})","","pm.globals.set('taskID', taskID);",""],"type":"text/javascript"}}],"id":"ae195f7b-7759-44d1-9706-07b8a8e2ce54","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"name\": \"Priority Test\",\n    \"locationID\": 34190,\n    \"type\": 2,\n    \"due\": 1748656599,\n    \"priority\": 3,\n    \"scheduledStart\": 1748650000,\n    \"scheduledEnd\": 1748660000\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/tasks","description":"<p>This request will create an empty Task, assign to a User or Team, etc.</p>\n<table><tbody><tr><th>Parameter</th><th>Type</th><th>Required?</th><th>Description</th></tr><tr><td><div>name</div></td><td><div>String</div></td><td><div>Required</div></td><td><div>The name of the Task.</div></td></tr><tr><td><div>locationID</div></td><td><div>Int</div></td><td><div>Required</div></td><td><div>The id of the Location this Task is assigned to. Must be the Location's unique ID number.</div></td></tr><tr><td><div>due</div></td><td><div>Int</div></td><td><div>Required</div></td><td><div>The time at which the Task is due. Must be a <a href=\"https://www.unixtimestamp.com\">unix timestamp</a>.</div></td></tr><tr><td><div>type</div></td><td><div>Int</div></td><td><div>Required</div></td><td><div>The type of Task according to this legend:<br />1 = Preventative Maintanance (PM).<br />2 = Unplanned Work Order (WO);<br />4 = Planned Work Order (WO);<br />6 = Work Request (WR).<br />Task types not listed here are not currently supported.<br />If you would like another Task type to be supported, please contact us.<br />A taskType of 6 prevents the user from assigning a batchID.</div></td></tr><tr><td><div>description</div></td><td><div>string</div></td><td><div>Optional</div></td><td><div>A brief description about the Task.</div></td></tr><tr><td><div>assetID</div></td><td><div>Int</div></td><td><div>Optional</div></td><td><div>The Asset that the Task will be attached to, if any. Must be the unique ID number of the Asset. Omitting this parameter or setting it to zero will not attach the Task to an asset.</div></td></tr><tr><td><div>assignment</div></td><td><div>Int</div></td><td><div>Optional. Required if 'assignmentType' is used.</div></td><td><div>The User or Team to which the Task will be assigned. Must be a User or Team that exists at the specified Location. Must be the unique ID number of the user or Team. If this parameter is set, the assignmentType parameter must also be set.</div></td></tr><tr><td><div>templateID</div></td><td><div>Int</div></td><td><div>Optional</div></td><td><div>The taskID of the task you wish to utilize as a template when posting a new Task. Using this will duplicate all steps in the Template to the newly created task. Templates can be easily viewed and built in Limble's web application.</div></td></tr><tr><td><div>assignmentType</div></td><td><div>Enum</div></td><td><div>Optional. Required if 'assignment' is used.</div></td><td><div>Specifies whether this Task will be assigned to a 'user', 'team' or 'multi'. If this parameter is set, the assignment parameter must also be set.</div></td></tr><tr><td><div>priority</div></td><td><div>Int</div></td><td><div>Optional</div></td><td><div>Specifies the priority of the Task. Must correspond to a 'priorityLevel' (See GET Priorities) configured in your Limble account.</div></td></tr><tr><td><div>estimatedTime</div></td><td><div>Int</div></td><td><div>Optional</div></td><td><div>Updates the estimated time of the task. This is the time it takes to complete the task in minutes.</div></td></tr><tr><td><div>scheduledStart</div></td><td><div>Int</div></td><td><div>Optional</div></td><td><div>The scheduled start date of the task. Must be a <a href=\"https://www.unixtimestamp.com\">unix timestamp</a>. Must be 0 or greater.</div></td></tr><tr><td><div>scheduledEnd</div></td><td><div>Int</div></td><td><div>Optional</div></td><td><div>The scheduled end date of the task. Must be a <a href=\"https://www.unixtimestamp.com\">unix timestamp</a>. Must be 0 or greater. If both scheduledStart and scheduledEnd are provided, scheduledEnd must be greater than scheduledStart.</div></td></tr><tr><td><div>requestName</div></td><td><div>string</div></td><td><div>Optional</div></td><td><div>Specifies the name of the Work Requestor.</div></td></tr><tr><td><div>requestEmail</div></td><td><div>string</div></td><td><div>Optional</div></td><td><div>Specifies the email address of the Work Requestor.</div></td></tr><tr><td><div>requestPhone</div></td><td><div>string</div></td><td><div>Optional</div></td><td><div>Specifies the phone number of the Work Requestor.</div></td></tr><tr><td><div>requestDescription</div></td><td><div>string</div></td><td><div>Optional</div></td><td><div>Specifies the description of the problem submitted by the Work Requestor.</div></td></tr><tr><td><div>meta1</div></td><td><div>string</div></td><td><div>Optional</div></td><td><div>Task meta data. This does not show in the web application, but can be used to track items between integrated systems.</div></td></tr><tr><td><div>meta2</div></td><td><div>string</div></td><td><div>Optional</div></td><td><div>Task meta data. This does not show in the web application, but can be used to track items between integrated systems.</div></td></tr><tr><td><div>meta3</div></td><td><div>string</div></td><td><div>Optional</div></td><td><div>Task meta data. This does not show in the web application, but can be used to track items between integrated systems.</div></td></tr><tr><td><div>geoLocation</div></td><td><div>geoJSON</div></td><td><div>Optional</div></td><td><div>The <a href=\"https://geojson.org\">geoJSON</a> Feature object that can be used to locate a task on a Map.</div></td></tr><tr><td><div>multiUsers</div></td><td><div>array</div></td><td><div>Optional. Required if assignmentType = multi</div></td><td><div>Array list of users a task is being assigned to.</div></td></tr></tbody></table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","tasks"],"host":["localhost"],"query":[{"disabled":true,"key":"name","value":"\"Priority Test\""},{"disabled":true,"key":"locationID","value":"34190"},{"disabled":true,"key":"due","value":"1749680211"},{"disabled":true,"key":"type","value":"2"},{"disabled":true,"key":"templateID","value":"9"}],"variable":[]}},"response":[{"id":"f8e7abfe-cdfa-4647-8da9-77d22bbd0539","name":"New Task","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"name\": \"task name\",\n\t\"locationID\": 163,\n\t\"assetID\": 1,\n\t\"due\": 1564605614,\n\t\"type\": 1,\n\t\"assignment\": 341,\n\t\"assignmentType\": \"user\",\n\t\"priority\": 3,\n\t\"templateID\": 9090,\n\t\"description\": \"this is a test task\",\n\t\"requestName\": \"requtest name\",\n\t\"requestEmail\": \"requestemail@domain.com\",\n\t\"requestPhone\": \"1234567890\",\n\t\"requestDescription\": \"request description\"\n}"},"url":"https://localhost:3000/v2/tasks/"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Location","value":"/v2/tasks/?tasks=8261","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"15","enabled":true},{"key":"ETag","value":"W/\"f-s/5l85/SxOr1Pj7JlGsMn+ZROE4\"","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 18:01:18 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"taskID\": 8261\n}"},{"id":"9ffca87a-b629-4d47-8e62-4aee3f736149","name":"New Task Copy","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"name\": \"task name\",\n    \"locationID\": 163,\n    \"due\": 1564605614,\n    \"type\": 6,\n    \"priority\": 3,\n    \"assignment\": 341,\n    \"assignmentType\": \"user\",\n    \"description\": \"this is a test task\",\n    \"requestName\": \"request name\",\n    \"requestEmail\": \"requestemail@domain.com\",\n    \"requestPhone\": \"1234567890\",\n    \"requestDescription\": \"request description\",\n    \"meta1\": \"Meta1\",\n    \"meta2\": \"Meta2\",\n    \"meta3\": \"Meta3\",\n    \"geoLocation\": {\n        \"type\":\"Feature\",\n        \"properties\":{\n            \"name\":\"Lehi\"\n            },\n        \"geometry\":{\n            \"type\":\"Point\",\n            \"coordinates\":[-111.84906005859375,40.39075031913329]\n        }\n    }\n}"},"url":"https://localhost:3000/v2/tasks/"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Location","value":"/v2/tasks/?tasks=14729","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"16","enabled":true},{"key":"ETag","value":"W/\"10-TFA9Ccb5kHYq7zKjE0aOqL76fzY\"","enabled":true},{"key":"Date","value":"Thu, 24 Mar 2022 15:42:25 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"taskID\": 14729\n}"},{"id":"5a5eea61-c810-44e2-a1f4-3805ddeedc55","name":"New Task Copy","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"name\": \"task name\",\n    \"locationID\": 163,\n    \"due\": 1564605614,\n    \"type\": 6,\n    \"priority\": 3,\n    \"assignment\": 341,\n    \"assignmentType\": \"user\",\n    \"description\": \"this is a test task\",\n    \"requestName\": \"request name\",\n    \"requestEmail\": \"requestemail@domain.com\",\n    \"requestPhone\": \"1234567890\",\n    \"requestDescription\": \"request description\",\n    \"meta1\": \"Meta1\",\n    \"meta2\": \"Meta2\",\n    \"meta3\": \"Meta3\",\n    \"geoLocation\": {\n        \"type\":\"Feature\",\n        \"properties\":{\n            \"name\":\"Lehi\"\n            },\n        \"geometry\":{\n            \"type\":\"Point\",\n            \"coordinates\":[-111.84906005859375,40.39075031913329]\n        }\n    }\n}"},"url":"https://localhost:3000/v2/tasks/"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Location","value":"/v2/tasks/?tasks=14729","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"16","enabled":true},{"key":"ETag","value":"W/\"10-TFA9Ccb5kHYq7zKjE0aOqL76fzY\"","enabled":true},{"key":"Date","value":"Thu, 24 Mar 2022 15:42:25 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"taskID\": 14729\n}"},{"id":"fae81e04-d94a-4ef7-8cbf-16e2a6a69acf","name":"New Task","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"name\": \"task name\",\n    \"locationID\": 163,\n    \"due\": 1564605614,\n    \"type\": 6,\n    \"priority\": 3,\n    \"assignment\": 341,\n    \"assignmentType\": \"user\",\n    \"description\": \"this is a test task\",\n    \"requestName\": \"request name\",\n    \"requestEmail\": \"requestemail@domain.com\",\n    \"requestPhone\": \"1234567890\",\n    \"requestDescription\": \"request description\",\n    \"meta1\": \"Meta1\",\n    \"meta2\": \"Meta2\",\n    \"meta3\": \"Meta3\",\n    \"geoLocation\": {\n        \"type\":\"Feature\",\n        \"properties\":{\n            \"name\":\"Lehi\"\n            },\n        \"geometry\":{\n            \"type\":\"Point\",\n            \"coordinates\":[-111.84906005859375,40.39075031913329]\n        }\n    }\n}"},"url":"https://localhost:3000/v2/tasks/"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Location","value":"/v2/tasks/?tasks=14729","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"16","enabled":true},{"key":"ETag","value":"W/\"10-TFA9Ccb5kHYq7zKjE0aOqL76fzY\"","enabled":true},{"key":"Date","value":"Thu, 24 Mar 2022 15:42:25 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"taskID\": 14729\n}"}],"_postman_id":"ae195f7b-7759-44d1-9706-07b8a8e2ce54"},{"name":"Update Task","event":[{"listen":"test","script":{"id":"37eaa4ac-f1e5-4eb4-af04-9d58acbecef1","exec":["pm.test(\"response should be okay to process\", function () { \r","    pm.response.to.not.be.error; \r","    pm.response.to.not.have.jsonBody(\"error\"); \r","});"],"type":"text/javascript"}}],"id":"a26aa1aa-de5f-4a46-beab-612564b32a5f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"name\": \"Do this task please!\",\n    \"locationID\": 163,\n    \"assetID\": 1,\n    \"due\": 1564605614,\n    \"type\": 6,\n    \"assignment\": 341,\n    \"assignmentType\": \"user\",\n    \"priority\": 3,\n    \"description\": \"this is a test task\",\n    \"scheduledStart\": 1564600000,\n    \"scheduledEnd\": 1564610000,\n    \"requestName\": \"requtest name\",\n    \"requestEmail\": \"requestemail@domain.com\",\n    \"requestPhone\": \"1111111111\",\n    \"requestDescription\": \"request description\",\n    \"status\": 1,\n    \"meta1\": \"meta1\",\n    \"meta2\": \"meta2\",\n    \"meta3\": \"meta3\",\n    \"geoLocation\": {\n      \"type\": \"Feature\",\n      \"properties\": {\"name\": \"Salt Lake City\"},\n      \"geometry\": {\n        \"type\": \"Point\",\n        \"coordinates\": [\n          -111.9012451171875,\n          40.76962180287486\n        ]\n      }\n    }\n}"},"url":"https://localhost:3000/v2/tasks/:taskID","description":"<p>This request updates the top level information of a Task.</p>\n<table><tbody><tr><th>Parameter</th><th>Type</th><th>Required?</th><th>Description</th></tr><tr><td><div>name</div></td><td><div>String</div></td><td><div>Optional</div></td><td><div>The name of the task.</div></td></tr><tr><td><div>locationID</div></td><td><div>Int</div></td><td><div>Optional</div></td><td><div>The location to which the task is assigned. Must be the location's unique ID number.</div></td></tr><tr><td><div>due</div></td><td><div>Int</div></td><td><div>Optional</div></td><td><div>The time at which the task is due for completion. Must be a <a href=\"https://www.unixtimestamp.com\">unix timestamp</a>.</div></td></tr><tr><td><div>type</div></td><td><div>Int</div></td><td><div>Optional</div></td><td><div>The type of task according to this legend:<br />1 = Preventative Maintanance (PM).<br />2 = Unplanned Work Order (WO);<br />4 = Planned Work Order (WO);<br />6 = Work Request (WR).<br />Only these type of tasks can be changed from one task type to another.</div></td></tr><tr><td><div>description</div></td><td><div>string</div></td><td><div>Optional</div></td><td><div>A brief description about the task.</div></td></tr><tr><td><div>asset</div></td><td><div>Int</div></td><td><div>Optional</div></td><td><div>The asset that the task will be attached to, if any. Must be the unique ID number of the asset. Omitting this parameter or setting it to zero will not attach the task to any asset.</div></td></tr><tr><td><div>assignment</div></td><td><div>Int</div></td><td><div>Optional. Required if 'assignmentType' is used.</div></td><td><div>The user or team to which the task will be assigned. Must be a user or team that exists at the specified location. Must be the unique ID number of the user or team. If this parameter is set, the assignmentType parameter must also be set.</div></td></tr><tr><td><div>assignmentType</div></td><td><div>Enum</div></td><td><div>Optional. Required if 'assignment' is used.</div></td><td><div>Specifies whether this task will be assigned to a 'user', 'team' or 'multi'. If this parameter is set, the assignment parameter must also be set.</div></td></tr><tr><td><div>priority</div></td><td><div>Int</div></td><td><div>Optional</div></td><td><div>Specifies the priority of the task. Must be between 0 and 6 inclusive: 0 = lowest priority, 5 = highest priority, 6 = \"On Hold\".</div></td></tr><tr><td><div>estimatedTime</div></td><td><div>Int</div></td><td><div>Optional</div></td><td><div>Updates the estimated time of the task. This is the time it takes to complete the task in minutes.</div></td></tr><tr><td><div>scheduledStart</div></td><td><div>Int</div></td><td><div>Optional</div></td><td><div>The scheduled start date of the task. Must be a <a href=\"https://www.unixtimestamp.com\">unix timestamp</a>. Must be 0 or greater.</div></td></tr><tr><td><div>scheduledEnd</div></td><td><div>Int</div></td><td><div>Optional</div></td><td><div>The scheduled end date of the task. Must be a <a href=\"https://www.unixtimestamp.com\">unix timestamp</a>. Must be 0 or greater. If both scheduledStart and scheduledEnd are provided, scheduledEnd must be greater than scheduledStart.</div></td></tr><tr><td><div>requestName</div></td><td><div>string</div></td><td><div>Optional</div></td><td><div>Specifies the name of the work requestor.</div></td></tr><tr><td><div>requestEmail</div></td><td><div>string</div></td><td><div>Optional</div></td><td><div>Specifies the email address of the work requestor.</div></td></tr><tr><td><div>requestPhone</div></td><td><div>string</div></td><td><div>Optional</div></td><td><div>Specifies the phone number of the work requestor.</div></td></tr><tr><td><div>requestDescription</div></td><td><div>string</div></td><td><div>Optional</div></td><td><div>Specifies the description set by the work requestor.</div></td></tr><tr><td><div>status</div></td><td><div>int</div></td><td><div>Optional</div></td><td><div>1 - Closes a task.<br />0 - Opens a task.<br />If this parameter is set to 1, the assignment and assignmentType parameters must also be set.</div></td></tr><tr><td><div>meta1</div></td><td><div>string</div></td><td><div>Optional</div></td><td><div>Task meta data. This does not show in the web application, but can be used to track items between integrated systems.</div></td></tr><tr><td><div>meta2</div></td><td><div>string</div></td><td><div>Optional</div></td><td><div>Task meta data. This does not show in the web application, but can be used to track items between integrated systems.</div></td></tr><tr><td><div>meta3</div></td><td><div>string</div></td><td><div>Optional</div></td><td><div>Task meta data. This does not show in the web application, but can be used to track items between integrated systems.</div></td></tr><tr><td><div>geoLocation</div></td><td><div>geoJSON</div></td><td><div>Optional</div></td><td><div>The <a href=\"https://geojson.org\">geoJSON</a> Feature object that can be used to locate a task on a Map. To remove geoLocation from a Task pass an empty object (<code>{}</code>).</div></td></tr><tr><td><div>statusID</div></td><td><div>int</div></td><td><div>Optional</div></td><td><div>Update the custom status of the task. Cannot update custom status to 1 (Open) or 2 (Complete).</div></td></tr><tr><td><div>multiUsers</div></td><td><div>array</div></td><td><div>Optional. Required if assignmentType = multi</div></td><td><div>Array list of users a task is being assigned to.</div></td></tr></tbody></table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","tasks",":taskID"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>taskID of the task you are updating</p>\n","type":"text/plain"},"type":"any","value":"{{taskID}}","key":"taskID"}]}},"response":[{"id":"5bc789ff-68d9-4d46-b83a-9c4e2b92715e","name":"Update Task","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"name\": \"Do this task please!\",\n    \"locationID\": 163,\n    \"assetID\": 1,\n    \"due\": 1564605614,\n    \"type\": 6,\n    \"assignment\": 341,\n    \"assignmentType\": \"user\",\n    \"priority\": 3,\n    \"description\": \"this is a test task\",\n    \"requestName\": \"requtest name\",\n    \"requestEmail\": \"requestemail@domain.com\",\n    \"requestPhone\": \"1111111111\",\n    \"requestDescription\": \"request description\",\n    \"status\": 1,\n    \"meta1\": \"meta1\",\n    \"meta2\": \"meta2\",\n    \"meta3\": \"meta3\",\n    \"geoLocation\":     {\n      \"type\": \"Feature\",\n      \"properties\": {\"name\": \"Salt Lake City\"},\n      \"geometry\": {\n        \"type\": \"Point\",\n        \"coordinates\": [\n          -111.9012451171875,\n          40.76962180287486\n        ]\n      }\n    }\n}"},"url":{"raw":"https://localhost:3000/v2/tasks/:taskID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","tasks",":taskID"],"variable":[{"key":"taskID","value":"14729","description":"taskID of the task you are updating"}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Thu, 24 Mar 2022 15:58:10 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"a26aa1aa-de5f-4a46-beab-612564b32a5f"},{"name":"Delete Task","event":[{"listen":"test","script":{"id":"c672ba65-7a1e-456c-9edc-cd4e50e4ea44","exec":["pm.test(\"response should be okay to process\", function () { \r","    pm.response.to.not.be.error; \r","    pm.response.to.not.have.jsonBody(\"error\"); \r","});"],"type":"text/javascript"}}],"id":"319c9151-f2b7-4633-a8ca-2f928461adeb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"url":"https://localhost:3000/v2/tasks/:taskID","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","tasks",":taskID"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>taskID of the task you are removing.</p>\n","type":"text/plain"},"type":"any","value":"{{taskID}}","key":"taskID"}]}},"response":[{"id":"89738035-b917-4f47-ba2f-54642fa42c48","name":"Delete Task","originalRequest":{"method":"DELETE","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"url":{"raw":"https://localhost:3000/v2/tasks/:taskID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","tasks",":taskID"],"variable":[{"key":"taskID","value":"{{taskID}}","description":"taskID of the task you are removing."}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 21:46:58 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"319c9151-f2b7-4633-a8ca-2f928461adeb"},{"name":"Tasks","event":[{"listen":"test","script":{"id":"0999a450-cabc-45eb-adf9-ddea45b38b5b","exec":["pm.test(\"response must be valid and have a body\", function () {\r","     // assert that the status code is 200\r","     pm.response.to.be.ok; // info, success, redirection, clientError,  serverError, are other variants\r","     // assert that the response has a valid JSON body\r","     pm.response.to.be.withBody;\r","     pm.response.to.be.json; // this assertion also checks if a body  exists, so the above check is not needed\r","});"],"type":"text/javascript","packages":{}}}],"id":"25c13219-0ff5-415e-856c-c478cf13d6dc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/tasks/?tasks=9109&assets=1&locations=73&type=6&name=%test%&start=1000000000&end=2500000000&cursor=0&limit=2&page=2&completedStart=0&completedEnd=2500000000&scheduledStart=0&scheduledEnd=2500000000&orderBy=-createdDate&geoLocation=true&users=11&teams=500&lastEditedByUsers=0,340,341&status=1&meta1=1&meta2=2&meta3=3&statusIDs=0,1,2&tag=@My Custom Tag;","description":"<p>This request gets top level information about Tasks such as completed date, assignment, assetID, etc.</p>\n<p><strong>Note:</strong> this endpoint supports pagination. Please refer to the <a href=\"#pagination\"><b>Pagination</b></a> section for more information.</p>\n<p><b>Return data description</b></p>\n\n<table><tbody><tr><th>Property</th><th>Description</th></tr><tr><td><div>meta</div></td><td><div>This property has shortcuts to get other information related to the Task such as the Task's invoices, labor parts usage and instructions.</div></td></tr><tr><td><div>name</div></td><td><div>The Task's name.</div></td></tr><tr><td><div>userID</div></td><td><div>The id of the user this Task is assigned to. A Task can not be assigned to both a Team and a User at the same time.</div></td></tr><tr><td><div>teamID</div></td><td><div>The id of the team this Task is assigned to. A Task can not be assigned to both a Team and a User at the same time.</div></td></tr><tr><td><div>locationID</div></td><td><div>The id of the Location in which this Task belongs to.</div></td></tr><tr><td><div>template</div></td><td><div>This field indicates if the task is a 'template' that spawns other tasks based on schedules or not.</div></td></tr><tr><td><div>createdDate</div></td><td><div>The date this Task was created. This is a unix timestamp.</div></td></tr><tr><td><div>startDate</div></td><td><div>By default this value is 0 as the startDate is usually the same as the createdDate. Sometimes a task is created such that it is scheduled to start in the future (i.e. after the createdDate). In such a case this value will be a unix timestamp indicating the actual start date of the Task.</div></td></tr><tr><td><div>scheduledStart</div></td><td><div>The scheduled start date of the Task. This is a unix timestamp. A value of null means no scheduled start date is set.</div></td></tr><tr><td><div>scheduledEnd</div></td><td><div>The scheduled end date of the Task. This is a unix timestamp. A value of null means no scheduled end date is set.</div></td></tr><tr><td><div>due</div></td><td><div>The date this Task is due. This is a unix timestamp.</div></td></tr><tr><td><div>dateCompleted</div></td><td><div>The date this Task was completed. This is a unix timestamp. A value of 0 means this Task is not completed.</div></td></tr><tr><td><div>lastEdited</div></td><td><div>The date this Task was last edited. This is a unix timestamp.</div></td></tr><tr><td><div>description</div></td><td><div>The decription of a task.</div></td></tr><tr><td><div>completedByUser</div></td><td><div>The id of the User that completed this Task.</div></td></tr><tr><td><div>lastEditedByUser</div></td><td><div>The id of the User that last edited the task.</div></td></tr><tr><td><div>assetID</div></td><td><div>The id of the Asset that this Task belongs to.</div></td></tr><tr><td><div>completedUserWage</div></td><td><div>The price per hour of the User's Wage at the point in time when the task was completed.</div></td></tr><tr><td><div>priority</div></td><td><div>The priority of the Task.</div></td></tr><tr><td><div>downtime</div></td><td><div>The amount of downtime in seconds caused by this Task.</div></td></tr><tr><td><div>estimatedTime</div></td><td><div>The estimated time of the task. This is the time it takes to complete the task in minutes.</div></td></tr><tr><td><div>completionNotes</div></td><td><div>Notes inputted by the user at the time of task completion.</div></td></tr><tr><td><div>requestorName</div></td><td><div>The name of the person that requested this Task.</div></td></tr><tr><td><div>requestorEmail</div></td><td><div>The email of the person that requested this Task.</div></td></tr><tr><td><div>requestorPhone</div></td><td><div>The phone number of the person that requested this Task.</div></td></tr><tr><td><div>requestTile</div></td><td><div>The title of the work request being submitted.</div></td></tr><tr><td><div>requestField1</div></td><td><div>Work request portal custom field 1.</div></td></tr><tr><td><div>requestField2</div></td><td><div>Work request portal custom field 2.</div></td></tr><tr><td><div>requestField3</div></td><td><div>Work request portal custom field 3.</div></td></tr><tr><td><div>requestDropdown1</div></td><td><div>Work request portal custom dropdown box 1.</div></td></tr><tr><td><div>requestDropdown2</div></td><td><div>Work request portal custom dropdown box 2.</div></td></tr><tr><td><div>requestDropdown3</div></td><td><div>Work request portal custom dropdown box 3.</div></td></tr><tr><td><div>requestorDescription</div></td><td><div>The description of the request submitted via the Work Request portal.</div></td></tr><tr><td><div>type</div></td><td><div>1 = Preventative Maintanance (PM);<br />2 = Unplanned Work Order (WO);<br />4 = Planned Work Order (WO);<br />5 = Cycle Count;<br />6 = Work Request (WR);<br />7 = Min Part Threshold;<br />8 = Materials Request;</div></td></tr><tr><td><div>status</div></td><td><div>1 - Complete<br />0 - Incomplete<br /><b>Note: this property indicates a task status with respect to task completion. For the custom task status refer to statusID</b></div></td></tr><tr><td><div>statusID</div></td><td><div>The current custom status assigned to this task.<br /><b>Note: this indicates the current status of a task. Use GET Statuses to find the value of each statusID.</b></div></td></tr><tr><td><div>poIDs</div></td><td><div>An array of Purchase Order IDs linked to this Task. Returns an empty array if no Purchase Orders are linked.</div></td></tr><tr><td><div>associatedTaskID <b>(deprecated)</b></div></td><td><div>Please refer to associatedTask meta property on GET Task Instruction for instruction type 14.</div></td></tr><tr><td><div>meta1</div></td><td><div>Task meta data. This does not show in the web application, but can be used to track items between integrated systems.</div></td></tr><tr><td><div>meta2</div></td><td><div>Task meta data. This does not show in the web application, but can be used to track items between integrated systems.</div></td></tr><tr><td><div>meta3</div></td><td><div>Task meta data. This does not show in the web application, but can be used to track items between integrated systems.</div></td></tr><tr><td><div>geoLocation</div></td><td><div>The location of a task on a Map.</div></td></tr><tr><td><div>customTags</div></td><td><div>An array of custom tags associated with the task.</div></td></tr></tbody></table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","tasks",""],"host":["localhost"],"query":[{"description":{"content":"<p>This parameter is used to only get specific Tasks. This parameter accepts a comma delimited list of task IDs.</p>\n","type":"text/plain"},"key":"tasks","value":"9109"},{"description":{"content":"<p>This parameter is used to only get Tasks that are linked to an asset. This parameter accepts a comma delimited list of asset IDs.</p>\n","type":"text/plain"},"key":"assets","value":"1"},{"description":{"content":"<p>This parameter is used to only get Tasks at a specific group of Locations. This parameter accepts a comma delimited list of Location IDs.</p>\n","type":"text/plain"},"key":"locations","value":"73"},{"description":{"content":"<p>This parameter is used to only get Tasks of a specific type. This parameter accepts a comma delimited list of task types.</p>\n","type":"text/plain"},"key":"type","value":"6"},{"description":{"content":"<p>This is a parameter used to string search for a name or partial name of a task this parameter expects a string with the wildcard %.</p>\n","type":"text/plain"},"key":"name","value":"%test%"},{"description":{"content":"<p>This parameter is used to only get Tasks that were last edited after the unix timestamp passed into the start parameter. For example, all Tasks that were last edited after April 18th, 2018.</p>\n","type":"text/plain"},"key":"start","value":"1000000000"},{"description":{"content":"<p>This parameter is used to only get Tasks that were last edited before the unix timestamp passed into the end parameter.</p>\n","type":"text/plain"},"key":"end","value":"2500000000"},{"description":{"content":"<p>This parameter is a cursor that selects what taskID you want to start receiving results at. e.g. passing 137 here will only get you tasks with an id greater than 137.</p>\n","type":"text/plain"},"key":"cursor","value":"0"},{"description":{"content":"<p>This parameter is a result limiter. The default is set to return no more than 100 results at one time.</p>\n","type":"text/plain"},"key":"limit","value":"2"},{"description":{"content":"<p>This parameter is used to paginate results based on the limit. Refer to Pagination section for more information.</p>\n","type":"text/plain"},"key":"page","value":"2"},{"description":{"content":"<p>This parameter is used to only get Tasks that were completed after the unix timestamp passed into this parameter. For example, all Assets that were completed after April 18th, 2018.</p>\n","type":"text/plain"},"key":"completedStart","value":"0"},{"description":{"content":"<p>This parameter is used to only get Tasks that were completed before the unix timestamp passed into this parameter.</p>\n","type":"text/plain"},"key":"completedEnd","value":"2500000000"},{"description":{"content":"<p>This parameter is used as the start of a scheduled-date window. Tasks are returned when their scheduled date range overlaps this timestamp.</p>\n","type":"text/plain"},"key":"scheduledStart","value":"0"},{"description":{"content":"<p>This parameter is used as the end of a scheduled-date window. Tasks are returned when their scheduled date range overlaps this timestamp.</p>\n","type":"text/plain"},"key":"scheduledEnd","value":"2500000000"},{"description":{"content":"<p>This parameter sorts based on the value you pass. Negative parameters are used to reverse sort order. This supports sorting by due, createdDate, dateCompleted, scheduledStart, scheduledEnd, and lastEdited.</p>\n","type":"text/plain"},"key":"orderBy","value":"-createdDate"},{"description":{"content":"<p>This parameter is used to filter results that contain a geoLocation property. By default it is false and will return all tasks with and without geoLocation property. If true, it will only return tasks with a geoLocation property.</p>\n","type":"text/plain"},"key":"geoLocation","value":"true"},{"description":{"content":"<p>This parameter filters tasks by assignee user IDs. It returns tasks directly assigned to those users and tasks assigned through team/profile membership (including multi-user assignments). This parameter accepts a comma delimited list of user IDs.</p>\n","type":"text/plain"},"key":"users","value":"11"},{"description":{"content":"<p>This parameter is used to only get Tasks assigned to specific teams/profiles. This parameter accepts a comma delimited list of team IDs.</p>\n","type":"text/plain"},"key":"teams","value":"500"},{"description":{"content":"<p>This parameter is used to filter tasks by users who last edited the task.</p>\n","type":"text/plain"},"key":"lastEditedByUsers","value":"0,340,341"},{"description":{"content":"<p>This parameter is used to filter tasks by completed status. 1 - Complete  0 - Incomplete</p>\n","type":"text/plain"},"key":"status","value":"1"},{"description":{"content":"<p>This parameter is used to filter tasks by task meta data. This does not show in the web application, but can be used to track items between integrated systems.</p>\n","type":"text/plain"},"key":"meta1","value":"1"},{"description":{"content":"<p>This parameter is used to filter tasks by task meta data. This does not show in the web application, but can be used to track items between integrated systems.</p>\n","type":"text/plain"},"key":"meta2","value":"2"},{"description":{"content":"<p>This parameter is used to filter tasks by task meta data. This does not show in the web application, but can be used to track items between integrated systems.</p>\n","type":"text/plain"},"key":"meta3","value":"3"},{"description":{"content":"<p>This parameter is used to filter tasks by their associated statusID.</p>\n","type":"text/plain"},"key":"statusIDs","value":"0,1,2"},{"description":{"content":"<p>This parameter is used to filter results that contain a certain custom tag. The tag must match exactly, i.e. \"Tag\" would not match \"My Custom Tag\". Searching for \"@My Custom Tag;\" is equivalent to searching for \"My Custom Tag\" but because custom tags are stored with an at sign (\"@\") at the beginning and a semicolon (\";\") at the end it is recommended that the param follows the same format.</p>\n","type":"text/plain"},"key":"tag","value":"@My Custom Tag;"}],"variable":[]}},"response":[{"id":"6f772981-eb44-4c79-8a64-3be34048c793","name":"Pagination using Page & Limit","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/tasks/?limit=2&orderBy=createdDate&completedStart=0&scheduledStart=0&status=1&page=2","protocol":"https","host":["localhost"],"port":"3000","path":["v2","tasks",""],"query":[{"key":"tasks","value":"9109","description":"This parameter is used to only get specific Tasks. This parameter accepts a comma delimited list of task IDs.","disabled":true},{"key":"assets","value":"0","description":"This parameter is used to only get Tasks that are linked to an asset. This parameter accepts a comma delimited list of asset IDs.","disabled":true},{"key":"type","value":"6","description":"This parameter is used to only get Tasks of a specific type. This parameter accepts a comma delimited list of task types.","disabled":true},{"key":"name","value":"%test%","description":"This is a parameter used to string search for a name or partial name of a task this parameter expects a string with the wildcard %.","disabled":true},{"key":"locations","value":"73","description":"This parameter is used to only get Tasks at a specific group of Locations. This parameter accepts a comma delimited list of Location IDs.","disabled":true},{"key":"start","value":"1000000000","description":"This parameter is used to only get Tasks that were last edited after the unix timestamp passed into the start parameter. For example, all Tasks that were last edited after April 18th, 2018.","disabled":true},{"key":"end","value":"2500000000","description":"This parameter is used to only get Tasks that were last edited *before* the unix timestamp passed into the end parameter.","disabled":true},{"key":"cursor","value":"0","description":"This parameter is a cursor that selects what taskID you want to start receiving results at. e.g. passing 137 here will only get you tasks with an id greater than 137.","disabled":true},{"key":"limit","value":"2","description":"This parameter is a result limiter. The default is set to return no more than 100 results at one time."},{"key":"orderBy","value":"createdDate","description":"This parameter sorts based on the value you pass. I.e. passing createdDate will order the results based on createdDate. Negative parameters are used to reverse sort order. This supports sorting by due, createdDate, and dateCompleted."},{"key":"completedStart","value":"0","description":"This parameter is used to only get Tasks that were completed after the unix timestamp passed into this parameter. For example, all Assets that were completed after April 18th, 2018."},{"key":"scheduledStart","value":"0","description":"This parameter is used to only get Tasks whose scheduled start is after the unix timestamp passed into this parameter. \n"},{"key":"completedEnd","value":"2500000000","description":"This parameter is used to only get Tasks that were completed *before* the unix timestamp passed into this parameter.","disabled":true},{"key":"status","value":"1","description":"This parameter is used to filter tasks by completed status. 1 - Complete  0 - Incomplete"},{"key":"lastEditedByUsers","value":"0,340,341","description":"This parameter is used to filter tasks by users that have completed tasks.","disabled":true},{"key":"meta1","value":"1","description":"This parameter is used to filter tasks by task meta data. This does not show in the web application, but can be used to track items between integrated systems.","disabled":true},{"key":"meta2","value":"2","description":"This parameter is used to filter tasks by task meta data. This does not show in the web application, but can be used to track items between integrated systems.","disabled":true},{"key":"meta3","value":"3","description":"This parameter is used to filter tasks by task meta data. This does not show in the web application, but can be used to track items between integrated systems.","disabled":true},{"key":"statusIDs","value":"0,1,2","description":"This parameter is used to filter tasks by their associated statusID.","disabled":true},{"key":"page","value":"2","description":"This parameter is used to paginate results based on the limit. Refer to Pagination section for more information."}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Last-Page","value":"/v2/tasks/?limit=2&orderBy=createdDate&completedStart=0&status=1&page=152","enabled":true},{"key":"Next-Page","value":"/v2/tasks/?limit=2&orderBy=createdDate&completedStart=0&status=1&page=3","enabled":true},{"key":"Previous-Page","value":"/v2/tasks/?limit=2&orderBy=createdDate&completedStart=0&status=1&page=1","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"1765","enabled":true},{"key":"ETag","value":"W/\"6e5-XqNsY0v+hZ4ZJrFE82iSvUjU4yc\"","enabled":true},{"key":"Date","value":"Wed, 06 Oct 2021 16:20:16 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"meta\": {\n            \"invoices\": \"/v2/tasks/invoices/?tasks=16\",\n            \"labor\": \"/v2/tasks/labor/?tasks=16\",\n            \"partsUsage\": \"/v2/parts/usage/?tasks=16\",\n            \"instructions\": \"/v2/tasks/16/instructions\",\n            \"status\": \"/v2/statuses/?statuses=2\"\n        },\n        \"taskID\": 16,\n        \"poIDs\": [1234],\n        \"name\": \"Part Qty Threshold Hit\",\n        \"userID\": 0,\n        \"teamID\": 436,\n        \"locationID\": 73,\n        \"template\": false,\n        \"createdDate\": 1457569392,\n        \"scheduledStart\": 0,\n        \"scheduledEnd\": 0,\n        \"due\": 1457569392,\n        \"description\": \"\",\n        \"dateCompleted\": 1457569392,\n        \"lastEdited\": 1518826313,\n        \"lastEditedByUser\": 0,\n        \"completedByUser\": 341,\n        \"assetID\": 0,\n        \"completedUserWage\": 15,\n        \"priority\": 0,\n        \"priorityID\": 8,\n        \"downtime\": 0,\n        \"completionNotes\": null,\n        \"requestorName\": null,\n        \"requestorEmail\": null,\n        \"requestorPhone\": null,\n        \"requestTitle\": null,\n        \"requestField1\": null,\n        \"requestField2\": null,\n        \"requestField3\": null,\n        \"requestDropdown1\": null,\n        \"requestDropdown2\": null,\n        \"requestDropdown3\": null,\n        \"requestorDescription\": null,\n        \"meta1\": null,\n        \"meta2\": null,\n        \"meta3\": null,\n        \"statusID\": 2,\n        \"type\": 7,\n        \"status\": 1\n    },\n    {\n        \"meta\": {\n            \"invoices\": \"/v2/tasks/invoices/?tasks=36\",\n            \"labor\": \"/v2/tasks/labor/?tasks=36\",\n            \"partsUsage\": \"/v2/parts/usage/?tasks=36\",\n            \"instructions\": \"/v2/tasks/36/instructions\",\n            \"status\": \"/v2/statuses/?statuses=2\"\n        },\n        \"taskID\": 36,\n        \"name\": \"Part Qty Threshold Hit\",\n        \"userID\": 0,\n        \"teamID\": 436,\n        \"locationID\": 73,\n        \"template\": false,\n        \"createdDate\": 1458062821,\n        \"scheduledStart\": 0,\n        \"scheduledEnd\": 0,\n        \"due\": 1458062821,\n        \"description\": \"\",\n        \"dateCompleted\": 1458062821,\n        \"lastEdited\": 1518826313,\n        \"lastEditedByUser\": 0,\n        \"completedByUser\": 341,\n        \"assetID\": 0,\n        \"completedUserWage\": 15,\n        \"priority\": 0,\n        \"priorityID\": 8,\n        \"downtime\": 0,\n        \"completionNotes\": null,\n        \"requestorName\": null,\n        \"requestorEmail\": null,\n        \"requestorPhone\": null,\n        \"requestTitle\": null,\n        \"requestField1\": null,\n        \"requestField2\": null,\n        \"requestField3\": null,\n        \"requestDropdown1\": null,\n        \"requestDropdown2\": null,\n        \"requestDropdown3\": null,\n        \"requestorDescription\": null,\n        \"meta1\": null,\n        \"meta2\": null,\n        \"meta3\": null,\n        \"statusID\": 2,\n        \"type\": 7,\n        \"status\": 1\n    }\n]"},{"id":"34eb9c00-9712-4ac1-abd4-694e86b263e7","name":"Tasks","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/tasks/?tasks=97&type=2&name=%Def%&locations=163&start=1000000000&end=2500000000&orderBy=createdDate&completedStart=0&completedEnd=2500000000&status=0&lastEditedByUsers=0,340,341","protocol":"https","host":["localhost"],"port":"3000","path":["v2","tasks",""],"query":[{"key":"tasks","value":"97","description":"This parameter is used to only get specific Tasks. This parameter accepts a comma delimited list of task IDs."},{"key":"assets","value":"1","description":"This parameter is used to only get Tasks that are linked to an asset. This parameter accepts a comma delimited list of asset IDs.","disabled":true},{"key":"type","value":"2","description":"This parameter is used to only get Tasks of a specific type. This parameter accepts a comma delimited list of task types."},{"key":"name","value":"%Def%","description":"This is a parameter used to string search for a name or partial name of a task this parameter expects a string with the wildcard %."},{"key":"locations","value":"163","description":"This parameter is used to only get Tasks at a specific group of Locations. This parameter accepts a comma delimited list of Location IDs."},{"key":"start","value":"1000000000","description":"This parameter is used to only get Tasks that were last edited after the unix timestamp passed into the start parameter. For example, all Tasks that were last edited after April 18th, 2018."},{"key":"end","value":"2500000000","description":"This parameter is used to only get Tasks that were last edited *before* the unix timestamp passed into the end parameter."},{"key":"cursor","value":"0","description":"This parameter is a cursor that selects what taskID you want to start receiving results at. e.g. passing 137 here will only get you tasks with an id greater than 137.","disabled":true},{"key":"limit","value":"2","description":"This parameter is a result limiter. The default is set to return no more than 100 results at one time.","disabled":true},{"key":"orderBy","value":"createdDate","description":"This parameter sorts based on the value you pass. I.e. passing createdDate will order the results based on createdDate. Negative parameters are used to reverse sort order. This supports sorting by due, createdDate, and dateCompleted."},{"key":"completedStart","value":"0","description":"This parameter is used to only get Tasks that were completed after the unix timestamp passed into this parameter. For example, all Assets that were completed after April 18th, 2018."},{"key":"completedEnd","value":"2500000000","description":"This parameter is used to only get Tasks that were completed *before* the unix timestamp passed into this parameter."},{"key":"status","value":"0","description":"This parameter is used to filter tasks by completed status. 1 - Complete  0 - Incomplete"},{"key":"lastEditedByUsers","value":"0,340,341","description":"This parameter is used to filter tasks by users that have completed tasks."},{"key":"meta1","value":"1","description":"This parameter is used to filter tasks by task meta data. This does not show in the web application, but can be used to track items between integrated systems.","disabled":true},{"key":"meta2","value":"2","description":"This parameter is used to filter tasks by task meta data. This does not show in the web application, but can be used to track items between integrated systems.","disabled":true},{"key":"meta3","value":"3","description":"This parameter is used to filter tasks by task meta data. This does not show in the web application, but can be used to track items between integrated systems.","disabled":true},{"key":"statusIDs","value":"0,1,2","description":"This parameter is used to filter tasks by their associated statusID.","disabled":true},{"key":"page","value":"2","description":"This parameter is used to paginate results based on the limit. Refer to Pagination section for more information.","disabled":true},{"key":"geoLocation","value":"true","description":"This parameter is used to filter results that contain a geoLocation property. By default it is false and will return **all** tasks with and without geoLocation property. If true, it will only return tasks with a geoLocation property.","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"925","enabled":true},{"key":"ETag","value":"W/\"39d-33jSb8B3/Y570UWJ/3/Pv2Jz0cs\"","enabled":true},{"key":"Date","value":"Thu, 15 Sep 2022 21:01:39 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"meta\": {\n            \"invoices\": \"/v2/tasks/invoices/?tasks=97\",\n            \"labor\": \"/v2/tasks/labor/?tasks=97\",\n            \"partsUsage\": \"/v2/parts/usage/?tasks=97\",\n            \"instructions\": \"/v2/tasks/97/instructions\",\n            \"status\": \"/v2/statuses/?statuses=0\"\n        },\n        \"taskID\": 97,\n        \"name\": \"Default WO Template - '\\\"r'\\\"\",\n        \"userID\": 0,\n        \"teamID\": 0,\n        \"locationID\": 163,\n        \"template\": true,\n        \"createdDate\": 1490260854,\n        \"startDate\": 0,\n        \"scheduledStart\": 0,\n        \"scheduledEnd\": 0,\n        \"due\": 0,\n        \"description\": \"\",\n        \"dateCompleted\": 0,\n        \"lastEdited\": 1518826313,\n        \"lastEditedByUser\": 0,\n        \"completedByUser\": 0,\n        \"assetID\": 0,\n        \"completedUserWage\": 15,\n        \"priority\": 0,\n        \"priorityID\": null,\n        \"downtime\": 0,\n        \"completionNotes\": null,\n        \"requestorName\": null,\n        \"requestorEmail\": null,\n        \"requestorPhone\": null,\n        \"requestTitle\": null,\n        \"requestField1\": null,\n        \"requestField2\": null,\n        \"requestField3\": null,\n        \"requestDropdown1\": null,\n        \"requestDropdown2\": null,\n        \"requestDropdown3\": null,\n        \"requestorDescription\": null,\n        \"meta1\": null,\n        \"meta2\": null,\n        \"meta3\": null,\n        \"statusID\": 0,\n        \"geoLocation\": null,\n        \"type\": 2,\n        \"associatedTaskID\": 0,\n        \"status\": 0\n    }\n]"},{"id":"02f98b9c-d1e7-4a2b-9569-94dce6b5a477","name":"Tasks","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/tasks/?locations=59306","protocol":"https","host":["localhost"],"port":"3000","path":["v2","tasks",""],"query":[{"key":"tasks","value":"97","description":"This parameter is used to only get specific Tasks. This parameter accepts a comma delimited list of task IDs.","disabled":true},{"key":"assets","value":"1","description":"This parameter is used to only get Tasks that are linked to an asset. This parameter accepts a comma delimited list of asset IDs.","disabled":true},{"key":"type","value":"2","description":"This parameter is used to only get Tasks of a specific type. This parameter accepts a comma delimited list of task types.","disabled":true},{"key":"name","value":"%Def%","description":"This is a parameter used to string search for a name or partial name of a task this parameter expects a string with the wildcard %.","disabled":true},{"key":"locations","value":"59306","description":"This parameter is used to only get Tasks at a specific group of Locations. This parameter accepts a comma delimited list of Location IDs."},{"key":"start","value":"1000000000","description":"This parameter is used to only get Tasks that were last edited after the unix timestamp passed into the start parameter. For example, all Tasks that were last edited after April 18th, 2018.","disabled":true},{"key":"end","value":"2500000000","description":"This parameter is used to only get Tasks that were last edited *before* the unix timestamp passed into the end parameter.","disabled":true},{"key":"cursor","value":"0","description":"This parameter is a cursor that selects what taskID you want to start receiving results at. e.g. passing 137 here will only get you tasks with an id greater than 137.","disabled":true},{"key":"limit","value":"2","description":"This parameter is a result limiter. The default is set to return no more than 100 results at one time.","disabled":true},{"key":"orderBy","value":"createdDate","description":"This parameter sorts based on the value you pass. I.e. passing createdDate will order the results based on createdDate. Negative parameters are used to reverse sort order. This supports sorting by due, createdDate, and dateCompleted.","disabled":true},{"key":"completedStart","value":"0","description":"This parameter is used to only get Tasks that were completed after the unix timestamp passed into this parameter. For example, all Assets that were completed after April 18th, 2018.","disabled":true},{"key":"completedEnd","value":"2500000000","description":"This parameter is used to only get Tasks that were completed *before* the unix timestamp passed into this parameter.","disabled":true},{"key":"status","value":"0","description":"This parameter is used to filter tasks by completed status. 1 - Complete  0 - Incomplete","disabled":true},{"key":"lastEditedByUsers","value":"0,340,341","description":"This parameter is used to filter tasks by users that have completed tasks.","disabled":true},{"key":"meta1","value":"1","description":"This parameter is used to filter tasks by task meta data. This does not show in the web application, but can be used to track items between integrated systems.","disabled":true},{"key":"meta2","value":"2","description":"This parameter is used to filter tasks by task meta data. This does not show in the web application, but can be used to track items between integrated systems.","disabled":true},{"key":"meta3","value":"3","description":"This parameter is used to filter tasks by task meta data. This does not show in the web application, but can be used to track items between integrated systems.","disabled":true},{"key":"statusIDs","value":"0,1,2","description":"This parameter is used to filter tasks by their associated statusID.","disabled":true},{"key":"page","value":"2","description":"This parameter is used to paginate results based on the limit. Refer to Pagination section for more information.","disabled":true},{"key":"geoLocation","value":"true","description":"This parameter is used to filter results that contain a geoLocation property. By default it is false and will return **all** tasks with and without geoLocation property. If true, it will only return tasks with a geoLocation property.","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 21 Jan 2025 13:47:48 GMT","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Transfer-Encoding","value":"chunked","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"vary","value":"Accept-Encoding","enabled":true},{"key":"content-security-policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"x-dns-prefetch-control","value":"off","enabled":true},{"key":"expect-ct","value":"max-age=0","enabled":true},{"key":"x-frame-options","value":"SAMEORIGIN","enabled":true},{"key":"strict-transport-security","value":"max-age=31536000; includeSubDomains; preload","enabled":true},{"key":"x-download-options","value":"noopen","enabled":true},{"key":"x-content-type-options","value":"nosniff","enabled":true},{"key":"x-permitted-cross-domain-policies","value":"none","enabled":true},{"key":"referrer-policy","value":"no-referrer","enabled":true},{"key":"x-xss-protection","value":"0","enabled":true},{"key":"api-feedback-link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"x-ratelimit-limit","value":"4000","enabled":true},{"key":"x-ratelimit-minute-limit","value":"360","enabled":true},{"key":"x-ratelimit-remaining","value":"3999","enabled":true},{"key":"x-ratelimit-first-call","value":"1737467268","enabled":true},{"key":"x-ratelimit-minute-remaining","value":"359","enabled":true},{"key":"x-ratelimit-minute-first-call","value":"1737467268","enabled":true},{"key":"etag","value":"W/\"6c49-rPmQw18/4lB9QXU6afyf0YoTKHc\"","enabled":true},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0","enabled":true},{"key":"Content-Encoding","value":"gzip","enabled":true},{"key":"CF-Cache-Status","value":"DYNAMIC","enabled":true},{"key":"Set-Cookie","value":"__cf_bm=lMVUFIoaKiobsF.CL24NFE_Le.uNPGmTh6uWd5wvGio-1737467268-1.0.1.1-P8q.2_3dkpRG65Y28lJYoIyO0pVZrCG.zWQc_oNOm7i9kn0SYoobIJ4mhoU.XDcFD0PFa7TUM1KfZygz_HErqw; path=/; expires=Tue, 21-Jan-25 14:17:48 GMT; domain=.limblecmms.com; HttpOnly; Secure; SameSite=None","enabled":true},{"key":"Set-Cookie","value":"_cfuvid=gVfIUFxFLfepHquygjGQPUWcJp4Hm4bLqESbGYAiH1E-1737467268576-0.0.1.1-604800000; path=/; domain=.limblecmms.com; HttpOnly; Secure; SameSite=None","enabled":true},{"key":"Server","value":"cloudflare","enabled":true},{"key":"CF-RAY","value":"9057c21aebd4d70b-IAD","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"meta\": {\n            \"invoices\": \"/v2/tasks/invoices/?tasks=3329\",\n            \"labor\": \"/v2/tasks/labor/?tasks=3329\",\n            \"partsUsage\": \"/v2/parts/usage/?tasks=3329\",\n            \"instructions\": \"/v2/tasks/3329/instructions\",\n            \"status\": \"/v2/statuses/?statuses=0\"\n        },\n        \"taskID\": 3329,\n        \"name\": \"WORK ORDER {{previous-instruction}}\",\n        \"userID\": 0,\n        \"teamID\": 0,\n        \"locationID\": 59306,\n        \"template\": true,\n        \"createdDate\": 0,\n        \"startDate\": 0,\n        \"scheduledStart\": 0,\n        \"scheduledEnd\": 0,\n        \"due\": 0,\n        \"description\": \" \",\n        \"dateCompleted\": 0,\n        \"lastEdited\": 1732197413,\n        \"lastEditedByUser\": 224259,\n        \"completedByUser\": 0,\n        \"assetID\": 9516,\n        \"completedUserWage\": 15,\n        \"priority\": 4,\n        \"priorityID\": 26438,\n        \"downtime\": 0,\n        \"completionNotes\": null,\n        \"requestorName\": null,\n        \"requestorEmail\": null,\n        \"requestorPhone\": null,\n        \"requestTitle\": null,\n        \"requestField1\": null,\n        \"requestField2\": null,\n        \"requestField3\": null,\n        \"requestDropdown1\": null,\n        \"requestDropdown2\": null,\n        \"requestDropdown3\": null,\n        \"requestorDescription\": null,\n        \"meta1\": null,\n        \"meta2\": null,\n        \"meta3\": null,\n        \"statusID\": 0,\n        \"geoLocation\": null,\n        \"type\": 2,\n        \"associatedTaskID\": 0,\n        \"status\": 0\n    }\n]"}],"_postman_id":"25c13219-0ff5-415e-856c-c478cf13d6dc"}],"id":"0d6cfc76-d8b3-41c4-a221-90fddd795310","_postman_id":"0d6cfc76-d8b3-41c4-a221-90fddd795310","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Users","item":[{"name":"Roles","item":[{"name":"Get User Roles","event":[{"listen":"test","script":{"id":"e2e8cf1c-5acc-4993-be76-cb754e3393c6","exec":["pm.test(\"response must be valid and have a body\", function () {\r","     // assert that the status code is 200\r","     pm.response.to.be.ok; // info, success, redirection, clientError,  serverError, are other variants\r","     // assert that the response has a valid JSON body\r","     pm.response.to.be.withBody;\r","     pm.response.to.be.json; // this assertion also checks if a body  exists, so the above check is not needed\r","});"],"type":"text/javascript","packages":{}}}],"id":"d3cd2b02-f348-484b-922b-9092f6892658","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/users/:userID/roles","description":"<p>This request gets all of the Roles a User has and what Location they have that Role at.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","users",":userID","roles"],"host":["localhost"],"query":[{"disabled":true,"description":{"content":"<p>This parameter expects a comma-separated list of roleIDs to filter teams by</p>\n","type":"text/plain"},"key":"roles","value":"1,2"},{"disabled":true,"description":{"content":"<p>This parameter expects a comma-separated list of locationIDs to filter roles by</p>\n","type":"text/plain"},"key":"locations","value":"163,202"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get specific role by name. This parameter expects a string full name of a user or partial name with the wildcard %.</p>\n","type":"text/plain"},"key":"name","value":"%Manager%"},{"disabled":true,"description":{"content":"<p>This parameter is a cursor that selects what teamID you want to start receiving results at. e.g. passing 137 here will only get you tasks with an id greater than 137.</p>\n","type":"text/plain"},"key":"cursor","value":"0"},{"disabled":true,"description":{"content":"<p>This parameter is a result limiter. The default is set to return no more than 100 results at one time.</p>\n","type":"text/plain"},"key":"limit","value":"100"}],"variable":[{"description":{"content":"<p>userID of the user that you wish to query Roles for.</p>\n","type":"text/plain"},"type":"any","value":"{{userID}}","key":"userID"}]}},"response":[{"id":"6d129022-0986-4a7f-93cf-79a565d6dde4","name":"Get User Roles","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/users/:userID/roles","protocol":"https","host":["localhost"],"port":"3000","path":["v2","users",":userID","roles"],"variable":[{"key":"userID","value":"341"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"299","enabled":true},{"key":"ETag","value":"W/\"12b-DUNYE4nyalSo0zMx6G+85/Gpfyc\"","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 05:33:27 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"roleID\": 320,\n        \"locationID\": 74,\n        \"name\": \"Manager\"\n    }\n]"}],"_postman_id":"d3cd2b02-f348-484b-922b-9092f6892658"},{"name":"Add User To Role","event":[{"listen":"test","script":{"id":"e2e8cf1c-5acc-4993-be76-cb754e3393c6","exec":["pm.test(\"response must be valid and have a body\", function () {\r","     // assert that the status code is 200\r","     pm.response.to.be.ok; // info, success, redirection, clientError,  serverError, are other variants\r","     pm.response.to.not.have.jsonBody(\"error\"); \r","});"],"type":"text/javascript"}}],"id":"d801438f-81b8-49f5-ad14-395bd397efd4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"locationID\": {{locationID}},\n\t\"roleID\": {{roleID}}\n}"},"url":"https://localhost:3000/v2/users/:userID/roles","description":"<p>This request adds a User to a Role.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","users",":userID","roles"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>userID you are adding a role to.</p>\n","type":"text/plain"},"type":"any","value":"{{userID}}","key":"userID"}]}},"response":[{"id":"832c1ac5-50bc-4762-961c-25ce706cb1ee","name":"Add Role To User","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"locationID\": 163,\n\t\"roleID\": 1033\n}"},"url":{"raw":"https://localhost:3000/v2/users/:userID/roles","protocol":"https","host":["localhost"],"port":"3000","path":["v2","users",":userID","roles"],"variable":[{"key":"userID","value":"{{userID}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 05:35:41 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"d801438f-81b8-49f5-ad14-395bd397efd4"},{"name":"Remove Role From User","event":[{"listen":"test","script":{"id":"4118b5d7-3a8a-4e3f-917b-3fc93dc8a005","exec":["pm.test(\"response should be okay to process\", function () { \r","    pm.response.to.not.be.error; \r","    pm.response.to.not.have.jsonBody(\"error\"); \r","})"],"type":"text/javascript"}}],"id":"fb69dbcc-009e-4128-a9b4-0ee3e5ebb0b1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"    {\r\n        \"roleID\": {{roleID}},\r\n        \"locationID\": {{locationID}}\r\n    }"},"url":"https://localhost:3000/v2/users/:userID/roles","description":"<p>This request removes a Role from a User.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","users",":userID","roles"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>userID of the role user you are removing the Role from.</p>\n","type":"text/plain"},"type":"any","value":"{{userID}}","key":"userID"}]}},"response":[{"id":"e94f61be-1ca1-4aeb-ae8c-e21bb703787e","name":"Remove Role From User","originalRequest":{"method":"DELETE","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"    {\r\n        \"roleID\": 321,\r\n        \"locationID\": 163\r\n    }"},"url":{"raw":"https://localhost:3000/v2/users/:userID/roles","protocol":"https","host":["localhost"],"port":"3000","path":["v2","users",":userID","roles"],"variable":[{"key":"userID","value":"341","description":"userID of the role user you are removing the Role from."}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 21:48:02 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"fb69dbcc-009e-4128-a9b4-0ee3e5ebb0b1"}],"id":"c9bbb8f5-9037-4cd8-9002-c8b0c5c32341","_postman_id":"c9bbb8f5-9037-4cd8-9002-c8b0c5c32341","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Teams","item":[{"name":"Get User Teams","event":[{"listen":"test","script":{"id":"e2e8cf1c-5acc-4993-be76-cb754e3393c6","exec":["pm.test(\"response must be valid and have a body\", function () {\r","     // assert that the status code is 200\r","     pm.response.to.be.ok; // info, success, redirection, clientError,  serverError, are other variants\r","     // assert that the response has a valid JSON body\r","     pm.response.to.be.withBody;\r","     pm.response.to.be.json; // this assertion also checks if a body  exists, so the above check is not needed\r","});"],"type":"text/javascript"}}],"id":"2c12b88d-5ccd-45ee-b43d-1dbc0755c4f0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/users/:userID/teams?teams=436,437&locations=163,74&limit=100&cursor=0&name=%Manager%","description":"<p>This request gets all of the Teams a User has and what Location they have that Team at.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","users",":userID","teams"],"host":["localhost"],"query":[{"description":{"content":"<p>This parameter expects a comma-separated list of teamIDs to filter teams by</p>\n","type":"text/plain"},"key":"teams","value":"436,437"},{"description":{"content":"<p>This parameter expects a comma-separated list of locationIDs to filter teams by</p>\n","type":"text/plain"},"key":"locations","value":"163,74"},{"description":{"content":"<p>This parameter is a result limiter. The default is set to return no more than 100 results at one time.</p>\n","type":"text/plain"},"key":"limit","value":"100"},{"description":{"content":"<p>This parameter is a cursor that selects what teamID you want to start receiving results at. e.g. passing 137 here will only get you tasks with an id greater than 137.</p>\n","type":"text/plain"},"key":"cursor","value":"0"},{"description":{"content":"<p>This parameter is used to only get specific team by name. This parameter expects a string full name of a user or partial name with the wildcard %.</p>\n","type":"text/plain"},"key":"name","value":"%Manager%"}],"variable":[{"description":{"content":"<p>userID of the user you are selecting teams.</p>\n","type":"text/plain"},"type":"any","value":"{{userID}}","key":"userID"}]}},"response":[{"id":"d5323c96-73c5-4ac2-abdc-10364598872e","name":"Get User Teams","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/users/:userID/teams","protocol":"https","host":["localhost"],"port":"3000","path":["v2","users",":userID","teams"],"query":[{"key":"teams","value":"436,437","disabled":true},{"key":"locations","value":"163,74","disabled":true},{"key":"limit","value":"103","disabled":true},{"key":"cursor","value":"1","disabled":true},{"key":"name","value":"%Manager%","disabled":true}],"variable":[{"key":"userID","value":"341"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"248","enabled":true},{"key":"ETag","value":"W/\"f8-rEn/tFPKbxmZOncb3B3tKnQp4Fc\"","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 17:32:10 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"teamID\": 436,\n        \"locationID\": 74,\n        \"name\": \"Manager\"\n    }\n]"}],"_postman_id":"2c12b88d-5ccd-45ee-b43d-1dbc0755c4f0"},{"name":"Add User To Team","event":[{"listen":"test","script":{"id":"e2e8cf1c-5acc-4993-be76-cb754e3393c6","exec":["pm.test(\"response must be valid and have a body\", function () {\r","     // assert that the status code is 200\r","     pm.response.to.be.ok; // info, success, redirection, clientError,  serverError, are other variants\r","     pm.response.to.not.have.jsonBody(\"error\"); \r","});"],"type":"text/javascript"}}],"id":"83d19a92-0b28-446c-be32-635c59a84761","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"locationID\": {{locationID}},\n\t\"teamID\": {{teamID}}\n}"},"url":"https://localhost:3000/v2/users/:userID/teams","description":"<p>This request adds a User to a Team.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","users",":userID","teams"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>userID of the user you are adding a team to.</p>\n","type":"text/plain"},"type":"any","value":"{{userID}}","key":"userID"}]}},"response":[{"id":"2e0b56a9-c403-437f-be77-231e6482e643","name":"Add Team To User","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"locationID\": 163,\n\t\"teamID\": 1923\n}"},"url":{"raw":"https://localhost:3000/v2/users/:userID/teams","protocol":"https","host":["localhost"],"port":"3000","path":["v2","users",":userID","teams"],"variable":[{"key":"userID","value":"341","description":"userID of the user you are adding a team to."}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 17:34:14 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"83d19a92-0b28-446c-be32-635c59a84761"},{"name":"Remove Team From User","event":[{"listen":"test","script":{"id":"5cd5cd29-f348-4270-b1c3-ccd9f40eeb38","exec":["pm.test(\"response should be okay to process\", function () { \r","    pm.response.to.not.be.error; \r","    pm.response.to.not.have.jsonBody(\"error\"); \r","})"],"type":"text/javascript"}}],"id":"2f7129a9-5b82-4768-bec8-913d4a0a5c04","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n    \"teamID\": {{teamID}},\r\n    \"locationID\": {{locationID}}\r\n}"},"url":"https://localhost:3000/v2/users/:userID/teams","description":"<p>This request removes a Team from a User.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","users",":userID","teams"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"{{userID}}","key":"userID"}]}},"response":[{"id":"419d45c3-dde7-44fc-8d06-d3dd8d2b05b5","name":"Remove Team From User","originalRequest":{"method":"DELETE","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n    \"teamID\": 1923,\r\n    \"locationID\": 163\r\n}"},"url":{"raw":"https://localhost:3000/v2/users/:userID/teams","protocol":"https","host":["localhost"],"port":"3000","path":["v2","users",":userID","teams"],"variable":[{"key":"userID","value":"341"}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 17:34:28 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"2f7129a9-5b82-4768-bec8-913d4a0a5c04"}],"id":"f0ee26db-1713-4f44-b494-6cd9f62ec4b9","_postman_id":"f0ee26db-1713-4f44-b494-6cd9f62ec4b9","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Capacity","item":[{"name":"Exceptions","item":[{"name":"Get Capacity Exceptions by User","id":"3e48917d-2fcf-4bed-84a8-382db29ee532","request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/users/capacity/exceptions/:userID?locations=1&startDate=2026-01-01&endDate=2026-01-31&cursor=0&limit=100","description":"<p>Gets capacity exception records for a specific user.</p>\n<p><code>capacityMinutes</code> is the user's available capacity <strong>per day</strong> for each date in the exception range.</p>\n<p>Query behavior:</p>\n<ul>\n<li><code>locations</code> scopes by user location membership.</li>\n<li><code>startDate</code>/<code>endDate</code> filter by date overlap (YYYY-MM-DD).</li>\n<li><code>cursor</code>/<code>limit</code> paginate results.</li>\n</ul>\n<p>Response fields include:\n<code>exceptionID</code>, <code>userID</code>, <code>createdByUserID</code>, <code>exceptionStartDate</code>, <code>exceptionEndDate</code>, <code>capacityMinutes</code>, <code>hoursPerDay</code>, <code>minutesPerDay</code>, <code>exceptionTitle</code>, <code>exceptionNotes</code>.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","users","capacity","exceptions",":userID"],"host":["localhost"],"query":[{"description":{"content":"<p>Required comma-separated location IDs used to scope the user access context.</p>\n","type":"text/plain"},"key":"locations","value":"1"},{"description":{"content":"<p>Optional lower date bound (YYYY-MM-DD) for overlap filtering.</p>\n","type":"text/plain"},"key":"startDate","value":"2026-01-01"},{"description":{"content":"<p>Optional upper date bound (YYYY-MM-DD) for overlap filtering. Must be &gt;= startDate when both are present.</p>\n","type":"text/plain"},"key":"endDate","value":"2026-01-31"},{"description":{"content":"<p>Optional ID cursor for keyset pagination.</p>\n","type":"text/plain"},"key":"cursor","value":"0"},{"description":{"content":"<p>Optional max rows per page.</p>\n","type":"text/plain"},"key":"limit","value":"100"}],"variable":[{"id":"e57cc1c9-ff1e-4947-b286-9c99c757073d","type":"any","key":"userID"}]}},"response":[{"id":"1f732f5d-b766-48c1-8bc5-c7ffd6c9900f","name":"Get User Capacity Exceptions","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/users/capacity/exceptions/:userID?locations=1&startDate=2026-01-01&endDate=2026-01-31&cursor=0&limit=100","protocol":"https","host":["localhost"],"port":"3000","path":["v2","users","capacity","exceptions",":userID"],"query":[{"key":"locations","value":"1","description":"Required comma-separated location IDs used to scope the user access context."},{"key":"startDate","value":"2026-01-01","description":"Optional lower date bound (YYYY-MM-DD) for overlap filtering."},{"key":"endDate","value":"2026-01-31","description":"Optional upper date bound (YYYY-MM-DD) for overlap filtering. Must be >= startDate when both are present."},{"key":"cursor","value":"0","description":"Optional ID cursor for keyset pagination."},{"key":"limit","value":"100","description":"Optional max rows per page."}],"variable":[{"key":"userID"}]},"description":"Gets capacity exception records for a specific user.\n\n`capacityMinutes` is the user's available capacity **per day** for each date in the exception range.\n\nQuery behavior:\n- `locations` scopes by user location membership.\n- `startDate`/`endDate` filter by date overlap (YYYY-MM-DD).\n- `cursor`/`limit` paginate results.\n\nResponse fields include:\n`exceptionID`, `userID`, `createdByUserID`, `exceptionStartDate`, `exceptionEndDate`, `capacityMinutes`, `hoursPerDay`, `minutesPerDay`, `exceptionTitle`, `exceptionNotes`."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"[\n  {\n    \"exceptionID\": 1201,\n    \"userID\": 42,\n    \"createdByUserID\": 1,\n    \"exceptionStartDate\": \"2026-01-10\",\n    \"exceptionEndDate\": \"2026-01-20\",\n    \"capacityMinutes\": 300,\n    \"hoursPerDay\": 5,\n    \"minutesPerDay\": 0,\n    \"exceptionTitle\": \"Training Week\",\n    \"exceptionNotes\": \"Limited availability\"\n  }\n]"}],"_postman_id":"3e48917d-2fcf-4bed-84a8-382db29ee532"},{"name":"Get Capacity Exceptions by Location","id":"d396febf-ea95-48da-98c8-569b0ed8a736","request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/users/capacity/exceptions?locations=1,3&users=42,57&startDate=2026-01-01&endDate=2026-01-31&cursor=0&limit=100","description":"<p>Gets capacity exception records across users for the requested locations.</p>\n<p><code>capacityMinutes</code> is the user's available capacity <strong>per day</strong> for each date in the exception range.</p>\n<p>Query behavior:</p>\n<ul>\n<li><code>locations</code> is required.</li>\n<li><code>users</code> optionally narrows results to specific users.</li>\n<li><code>startDate</code>/<code>endDate</code> filter by date overlap (YYYY-MM-DD).</li>\n<li><code>cursor</code>/<code>limit</code> paginate results.</li>\n</ul>\n<p>Response fields include:\n<code>exceptionID</code>, <code>userID</code>, <code>createdByUserID</code>, <code>exceptionStartDate</code>, <code>exceptionEndDate</code>, <code>capacityMinutes</code>, <code>hoursPerDay</code>, <code>minutesPerDay</code>, <code>exceptionTitle</code>, <code>exceptionNotes</code>.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","users","capacity","exceptions"],"host":["localhost"],"query":[{"description":{"content":"<p>Required comma-separated location IDs.</p>\n","type":"text/plain"},"key":"locations","value":"1,3"},{"description":{"content":"<p>Optional comma-separated user IDs filter.</p>\n","type":"text/plain"},"key":"users","value":"42,57"},{"description":{"content":"<p>Optional lower date bound (YYYY-MM-DD) for overlap filtering.</p>\n","type":"text/plain"},"key":"startDate","value":"2026-01-01"},{"description":{"content":"<p>Optional upper date bound (YYYY-MM-DD) for overlap filtering. Must be &gt;= startDate when both are present.</p>\n","type":"text/plain"},"key":"endDate","value":"2026-01-31"},{"description":{"content":"<p>Optional ID cursor for keyset pagination.</p>\n","type":"text/plain"},"key":"cursor","value":"0"},{"description":{"content":"<p>Optional max rows per page.</p>\n","type":"text/plain"},"key":"limit","value":"100"}],"variable":[]}},"response":[{"id":"36244ff9-e6d5-4a50-8195-76bc7357f1c6","name":"Get Capacity Exceptions By Location","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/users/capacity/exceptions?locations=1,3&users=42,57&startDate=2026-01-01&endDate=2026-01-31&cursor=0&limit=100","protocol":"https","host":["localhost"],"port":"3000","path":["v2","users","capacity","exceptions"],"query":[{"key":"locations","value":"1,3","description":"Required comma-separated location IDs."},{"key":"users","value":"42,57","description":"Optional comma-separated user IDs filter."},{"key":"startDate","value":"2026-01-01","description":"Optional lower date bound (YYYY-MM-DD) for overlap filtering."},{"key":"endDate","value":"2026-01-31","description":"Optional upper date bound (YYYY-MM-DD) for overlap filtering. Must be >= startDate when both are present."},{"key":"cursor","value":"0","description":"Optional ID cursor for keyset pagination."},{"key":"limit","value":"100","description":"Optional max rows per page."}]},"description":"Gets capacity exception records across users for the requested locations.\n\n`capacityMinutes` is the user's available capacity **per day** for each date in the exception range.\n\nQuery behavior:\n- `locations` is required.\n- `users` optionally narrows results to specific users.\n- `startDate`/`endDate` filter by date overlap (YYYY-MM-DD).\n- `cursor`/`limit` paginate results.\n\nResponse fields include:\n`exceptionID`, `userID`, `createdByUserID`, `exceptionStartDate`, `exceptionEndDate`, `capacityMinutes`, `hoursPerDay`, `minutesPerDay`, `exceptionTitle`, `exceptionNotes`."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"[\n  {\n    \"exceptionID\": 1201,\n    \"userID\": 42,\n    \"createdByUserID\": 1,\n    \"exceptionStartDate\": \"2026-01-10\",\n    \"exceptionEndDate\": \"2026-01-20\",\n    \"capacityMinutes\": 300,\n    \"hoursPerDay\": 5,\n    \"minutesPerDay\": 0,\n    \"exceptionTitle\": \"Training Week\",\n    \"exceptionNotes\": \"Limited availability\"\n  },\n  {\n    \"exceptionID\": 1202,\n    \"userID\": 57,\n    \"createdByUserID\": 1,\n    \"exceptionStartDate\": \"2026-01-15\",\n    \"exceptionEndDate\": null,\n    \"capacityMinutes\": 120,\n    \"hoursPerDay\": 2,\n    \"minutesPerDay\": 0,\n    \"exceptionTitle\": \"Half Day\",\n    \"exceptionNotes\": \"On-site meeting\"\n  }\n]"}],"_postman_id":"d396febf-ea95-48da-98c8-569b0ed8a736"},{"name":"New Capacity Exception","id":"18516ef2-5380-4dab-8908-7e489bb9448e","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","description":"<p>JSON request body</p>\n"}],"body":{"mode":"raw","raw":"{\n  \"exceptionStartDate\": \"2026-01-10\",\n  \"exceptionEndDate\": \"2026-01-20\",\n  \"capacityMinutes\": 300,\n  \"exceptionTitle\": \"Training Week\",\n  \"exceptionNotes\": \"Limited availability\"\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/users/capacity/exceptions/:userID","description":"<p>Creates a capacity exception for a user.</p>\n<p><code>capacityMinutes</code> means the user's available work capacity <strong>per day</strong> for each day in the exception date/range. It is <strong>not</strong> the total duration of the exception range.</p>\n<p>Examples:</p>\n<ul>\n<li><p><code>capacityMinutes: 0</code> =&gt; unavailable that day (or each day in the range).</p>\n</li>\n<li><p><code>capacityMinutes: 480</code> =&gt; 8 hours available per day.</p>\n</li>\n</ul>\n<p>You can provide either:</p>\n<ul>\n<li><p><code>capacityMinutes</code> directly, or</p>\n</li>\n<li><p><code>hoursPerDay</code> + <code>minutesPerDay</code> (equivalent input).</p>\n</li>\n</ul>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","users","capacity","exceptions",":userID"],"host":["localhost"],"query":[],"variable":[{"id":"7ae6ef13-57c4-4f65-8fc0-430110908c6e","type":"any","key":"userID"}]}},"response":[{"id":"7b77d29b-2ef1-4a8e-bde1-326e262600c5","name":"New Capacity Exception","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","description":"JSON request body"}],"body":{"mode":"raw","raw":"{\n  \"exceptionStartDate\": \"2026-01-10\",\n  \"exceptionEndDate\": \"2026-01-20\",\n  \"capacityMinutes\": 300,\n  \"exceptionTitle\": \"Training Week\",\n  \"exceptionNotes\": \"Limited availability\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://localhost:3000/v2/users/capacity/exceptions/:userID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","users","capacity","exceptions",":userID"],"variable":[{"key":"userID"}]},"description":"Creates a capacity exception for a user.\n\n`capacityMinutes` means the user's available work capacity **per day** for each day in the exception date/range. It is **not** the total duration of the exception range.\n\nExamples:\n\n- `capacityMinutes: 0` => unavailable that day (or each day in the range).\n    \n- `capacityMinutes: 480` => 8 hours available per day.\n    \n\nYou can provide either:\n\n- `capacityMinutes` directly, or\n    \n- `hoursPerDay` + `minutesPerDay` (equivalent input)."},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Location","value":"/v2/users/capacity/exceptions/42/1201","description":"Location of the created resource"}],"cookie":[],"responseTime":null,"body":"{\n  \"exceptionID\": 1201\n}"}],"_postman_id":"18516ef2-5380-4dab-8908-7e489bb9448e"},{"name":"Delete Capacity Exception","id":"3afea8ed-3d21-42ac-8171-2fc207480a07","request":{"method":"DELETE","header":[],"url":"https://localhost:3000/v2/users/capacity/exceptions/:userID/:exceptionID","description":"<p>Deletes a capacity exception for a user.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","users","capacity","exceptions",":userID",":exceptionID"],"host":["localhost"],"query":[],"variable":[{"id":"d24802ac-441a-4937-b66b-d6f02f568a70","type":"any","key":"userID"},{"id":"3ea1bc0b-b1bb-4cc3-9544-27de127750c1","type":"any","key":"exceptionID"}]}},"response":[{"id":"783684a3-0068-48ec-bd0a-fc3e3c2ebd2e","name":"Delete Capacity Exception","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://localhost:3000/v2/users/capacity/exceptions/:userID/:exceptionID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","users","capacity","exceptions",":userID",":exceptionID"],"variable":[{"key":"userID"},{"key":"exceptionID"}]},"description":"Deletes a capacity exception for a user."},"status":"No Content","code":204,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"3afea8ed-3d21-42ac-8171-2fc207480a07"},{"name":"Update Capacity Exception","id":"72722437-a1e6-46ed-8670-adc384d70319","request":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json","description":"<p>JSON request body</p>\n"}],"body":{"mode":"raw","raw":"{\n  \"exceptionStartDate\": \"2026-01-10\",\n  \"exceptionEndDate\": \"2026-01-20\",\n  \"capacityMinutes\": 240,\n  \"exceptionTitle\": \"Updated availability\",\n  \"exceptionNotes\": \"Shortened due to meetings\"\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/users/capacity/exceptions/:userID/:exceptionID","description":"<p>This request updates an existing capacity exception and returns the updated resource.</p>\n<p><code>capacityMinutes</code> means the user's available capacity <strong>per day</strong> for each day in the exception date/range. It is <strong>not</strong> the total duration of the exception range.</p>\n<p>Examples:</p>\n<ul>\n<li><code>capacityMinutes: 0</code> =&gt; unavailable that day (or each day in the range).</li>\n<li><code>capacityMinutes: 480</code> =&gt; 8 hours available per day.</li>\n</ul>\n<p>Return data description</p>\n<p>Property    Description\nexceptionID Unique ID for the capacity exception record.\nuserID  The user the exception applies to.\ncreatedByUserID The user who created the exception.\nexceptionStartDate  The first date the exception applies (YYYY-MM-DD).\nexceptionEndDate    The last date the exception applies (YYYY-MM-DD). Null when the exception is only for one day.\ncapacityMinutes Allowed capacity in minutes <strong>per day</strong> for the exception date/range.\nhoursPerDay Derived whole-hour portion of capacityMinutes.\nminutesPerDay   Derived minute remainder after hoursPerDay.\nexceptionTitle  Optional short title for the exception.\nexceptionNotes  Optional notes/details for the exception.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","users","capacity","exceptions",":userID",":exceptionID"],"host":["localhost"],"query":[],"variable":[{"id":"5f6f6cae-928e-4278-bb1a-09ba42e571d2","type":"any","key":"userID"},{"id":"b3c4891f-0a50-4117-9d2a-019edb82e150","type":"any","key":"exceptionID"}]}},"response":[{"id":"d7306a1e-e90f-42a9-89b9-a7f8f5dde423","name":"Update Capacity Exception","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json","description":"JSON request body"}],"body":{"mode":"raw","raw":"{\n  \"exceptionStartDate\": \"2026-01-10\",\n  \"exceptionEndDate\": \"2026-01-20\",\n  \"capacityMinutes\": 240,\n  \"exceptionTitle\": \"Updated availability\",\n  \"exceptionNotes\": \"Shortened due to meetings\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://localhost:3000/v2/users/capacity/exceptions/:userID/:exceptionID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","users","capacity","exceptions",":userID",":exceptionID"],"variable":[{"key":"userID"},{"key":"exceptionID"}]},"description":"This request updates an existing capacity exception and returns the updated resource.\n\n`capacityMinutes` means the user's available capacity **per day** for each day in the exception date/range. It is **not** the total duration of the exception range.\n\nExamples:\n- `capacityMinutes: 0` => unavailable that day (or each day in the range).\n- `capacityMinutes: 480` => 8 hours available per day.\n\nReturn data description\n\nProperty\tDescription\nexceptionID\tUnique ID for the capacity exception record.\nuserID\tThe user the exception applies to.\ncreatedByUserID\tThe user who created the exception.\nexceptionStartDate\tThe first date the exception applies (YYYY-MM-DD).\nexceptionEndDate\tThe last date the exception applies (YYYY-MM-DD). Null when the exception is only for one day.\ncapacityMinutes\tAllowed capacity in minutes **per day** for the exception date/range.\nhoursPerDay\tDerived whole-hour portion of capacityMinutes.\nminutesPerDay\tDerived minute remainder after hoursPerDay.\nexceptionTitle\tOptional short title for the exception.\nexceptionNotes\tOptional notes/details for the exception."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n  \"exceptionID\": 1201,\n  \"userID\": 42,\n  \"createdByUserID\": 1,\n  \"exceptionStartDate\": \"2026-01-10\",\n  \"exceptionEndDate\": \"2026-01-20\",\n  \"capacityMinutes\": 240,\n  \"hoursPerDay\": 4,\n  \"minutesPerDay\": 0,\n  \"exceptionTitle\": \"Updated availability\",\n  \"exceptionNotes\": \"Shortened due to meetings\"\n}"}],"_postman_id":"72722437-a1e6-46ed-8670-adc384d70319"}],"id":"e0bf2721-9a72-4368-89b1-50b146246470","_postman_id":"e0bf2721-9a72-4368-89b1-50b146246470","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Schedules","item":[{"name":"Get Capacity Schedules","id":"048817bd-4575-44be-8764-0ed62b7247da","request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/users/capacity/schedules?locations=1,3&users=42,57&startDate=2026-01-05&endDate=2026-01-07&cursor=0&limit=100","description":"<p>Returns per-user daily capacity rows for a date range, including applied precedence details.</p>\n<p>Precedence order:\n<code>exception &gt; holiday &gt; userSchedule &gt; profileSchedule &gt; default</code>.</p>\n<p>Pagination:</p>\n<ul>\n<li><code>cursor</code> is a zero-based offset.</li>\n<li><code>limit</code> max is 100.</li>\n</ul>\n<p>Date limits:</p>\n<ul>\n<li><code>startDate</code> and <code>endDate</code> are required (YYYY-MM-DD).</li>\n<li>Date range cannot exceed 31 days.</li>\n</ul>\n<p>Response notes:</p>\n<ul>\n<li><code>range</code> now contains only <code>startDate</code> and <code>endDate</code>.</li>\n<li><code>pagination</code> contains <code>cursor</code>, <code>limit</code>, <code>totalUsers</code>, and <code>nextCursor</code>.</li>\n</ul>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","users","capacity","schedules"],"host":["localhost"],"query":[{"description":{"content":"<p>Required comma-separated location IDs to scope users.</p>\n","type":"text/plain"},"key":"locations","value":"1,3"},{"description":{"content":"<p>Optional comma-separated user IDs filter.</p>\n","type":"text/plain"},"key":"users","value":"42,57"},{"description":{"content":"<p>Required start date (YYYY-MM-DD).</p>\n","type":"text/plain"},"key":"startDate","value":"2026-01-05"},{"description":{"content":"<p>Required end date (YYYY-MM-DD), must be &gt;= startDate and within 31 days.</p>\n","type":"text/plain"},"key":"endDate","value":"2026-01-07"},{"description":{"content":"<p>Optional zero-based user offset for pagination.</p>\n","type":"text/plain"},"key":"cursor","value":"0"},{"description":{"content":"<p>Optional page size (1-100).</p>\n","type":"text/plain"},"key":"limit","value":"100"}],"variable":[]}},"response":[{"id":"df9d76a6-a5bc-493e-9453-412b832b5baa","name":"Get Capacity Schedules","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/users/capacity/schedules?locations=1,3&users=42,57&startDate=2026-01-05&endDate=2026-01-07&cursor=0&limit=100","protocol":"https","host":["localhost"],"port":"3000","path":["v2","users","capacity","schedules"],"query":[{"key":"locations","value":"1,3","description":"Required comma-separated location IDs to scope users."},{"key":"users","value":"42,57","description":"Optional comma-separated user IDs filter."},{"key":"startDate","value":"2026-01-05","description":"Required start date (YYYY-MM-DD)."},{"key":"endDate","value":"2026-01-07","description":"Required end date (YYYY-MM-DD), must be >= startDate and within 31 days."},{"key":"cursor","value":"0","description":"Optional zero-based user offset for pagination."},{"key":"limit","value":"100","description":"Optional page size (1-100)."}]},"description":"Returns per-user daily capacity rows for a date range, including applied precedence details.\n\nPrecedence order:\n`exception > holiday > userSchedule > profileSchedule > default`.\n\nPagination:\n- `cursor` is a zero-based offset.\n- `limit` max is 100.\n\nDate limits:\n- `startDate` and `endDate` are required (YYYY-MM-DD).\n- Date range cannot exceed 31 days.\n\nResponse notes:\n- `range` now contains only `startDate` and `endDate`.\n- `pagination` contains `cursor`, `limit`, `totalUsers`, and `nextCursor`."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n  \"range\": {\n    \"startDate\": \"2026-01-05\",\n    \"endDate\": \"2026-01-07\"\n  },\n  \"locations\": [1, 3],\n  \"users\": [\n    {\n      \"userID\": 42,\n      \"locations\": [1],\n      \"days\": [\n        {\n          \"date\": \"2026-01-05\",\n          \"capacityMinutes\": 300,\n          \"hoursPerDay\": 5,\n          \"minutesPerDay\": 0,\n          \"isAvailable\": true,\n          \"appliedRule\": \"userSchedule\",\n          \"reason\": \"Capacity from user schedule\",\n          \"reasonDetails\": {\n            \"scheduleID\": 1201,\n            \"profileID\": null\n          }\n        }\n      ]\n    }\n  ],\n  \"pagination\": {\n    \"cursor\": 0,\n    \"limit\": 100,\n    \"totalUsers\": 1,\n    \"nextCursor\": null\n  }\n}"},{"id":"e3dc5a70-a5cf-4b8d-97a3-625b95de8a9c","name":"400 - Limit exceeds maximum","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/users/capacity/schedules?locations=1,3&users=42,57&startDate=2026-01-05&endDate=2026-01-07&cursor=0&limit=100","protocol":"https","host":["localhost"],"port":"3000","path":["v2","users","capacity","schedules"],"query":[{"key":"locations","value":"1,3","description":"Required comma-separated location IDs to scope users."},{"key":"users","value":"42,57","description":"Optional comma-separated user IDs filter."},{"key":"startDate","value":"2026-01-05","description":"Required start date (YYYY-MM-DD)."},{"key":"endDate","value":"2026-01-07","description":"Required end date (YYYY-MM-DD), must be >= startDate and within 31 days."},{"key":"cursor","value":"0","description":"Optional zero-based user offset for pagination."},{"key":"limit","value":"100","description":"Optional page size (1-100)."}]},"description":"Returns per-user daily capacity rows for a date range, including applied precedence details.\n\nPrecedence order:\n`exception > holiday > userSchedule > profileSchedule > default`.\n\nPagination:\n- `cursor` is a zero-based offset.\n- `limit` max is 100.\n\nDate limits:\n- `startDate` and `endDate` are required (YYYY-MM-DD).\n- Date range cannot exceed 31 days.\n\nResponse notes:\n- `range` now contains only `startDate` and `endDate`.\n- `pagination` contains `cursor`, `limit`, `totalUsers`, and `nextCursor`."},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n  \"error\": {\n    \"status\": 400,\n    \"message\": \"\\\"limit\\\" must be less than or equal to 100\"\n  }\n}"},{"id":"bfd743d5-5825-4fc8-9764-e84b011e665b","name":"400 - Date range exceeds 31 days","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/users/capacity/schedules?locations=1,3&users=42,57&startDate=2026-01-05&endDate=2026-01-07&cursor=0&limit=100","protocol":"https","host":["localhost"],"port":"3000","path":["v2","users","capacity","schedules"],"query":[{"key":"locations","value":"1,3","description":"Required comma-separated location IDs to scope users."},{"key":"users","value":"42,57","description":"Optional comma-separated user IDs filter."},{"key":"startDate","value":"2026-01-05","description":"Required start date (YYYY-MM-DD)."},{"key":"endDate","value":"2026-01-07","description":"Required end date (YYYY-MM-DD), must be >= startDate and within 31 days."},{"key":"cursor","value":"0","description":"Optional zero-based user offset for pagination."},{"key":"limit","value":"100","description":"Optional page size (1-100)."}]},"description":"Returns per-user daily capacity rows for a date range, including applied precedence details.\n\nPrecedence order:\n`exception > holiday > userSchedule > profileSchedule > default`.\n\nPagination:\n- `cursor` is a zero-based offset.\n- `limit` max is 100.\n\nDate limits:\n- `startDate` and `endDate` are required (YYYY-MM-DD).\n- Date range cannot exceed 31 days.\n\nResponse notes:\n- `range` now contains only `startDate` and `endDate`.\n- `pagination` contains `cursor`, `limit`, `totalUsers`, and `nextCursor`."},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n  \"error\": {\n    \"status\": 400,\n    \"message\": \"\\\"startDate\\\" and \\\"endDate\\\" cannot span more than 31 days\"\n  }\n}"}],"_postman_id":"048817bd-4575-44be-8764-0ed62b7247da"}],"id":"cb70623d-cd13-419f-9caa-b59b9beda42f","_postman_id":"cb70623d-cd13-419f-9caa-b59b9beda42f","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}}],"id":"13954ef4-fe3b-4ec9-8ed3-58500ca5fe61","_postman_id":"13954ef4-fe3b-4ec9-8ed3-58500ca5fe61","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Users","event":[{"listen":"test","script":{"id":"e2e8cf1c-5acc-4993-be76-cb754e3393c6","exec":["pm.test(\"response must be valid and have a body\", function () {\r","     // assert that the status code is 200\r","     pm.response.to.be.ok; // info, success, redirection, clientError,  serverError, are other variants\r","     // assert that the response has a valid JSON body\r","     pm.response.to.be.withBody;\r","     pm.response.to.be.json; // this assertion also checks if a body  exists, so the above check is not needed\r","});"],"type":"text/javascript"}}],"id":"a10af8a1-d8be-467a-a2e3-7fc12498f9de","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/users?users=342","description":"<p>This request gets information about Users such as User Login, User Email etc.</p>\n<p><b>Return data description</b></p>\n<table>\n    <thead>\n        <tr>\n            <th>Property</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>username</td>\n            <td>What a User uses to login.</td>\n        </tr>\n        <tr>\n            <td>wage</td>\n            <td>The hourly rate of an employee.</td>\n        </tr>\n        <tr>\n            <td>active</td>\n            <td>Determines if a user can log into Limble or not.</td>\n        </tr>\n        <tr>\n            <td>emailNotificationActive</td>\n            <td>Determines if a User gets Email Notifications From Limble.</td>\n        </tr>\n        <tr>\n            <td>pushNotificationActive</td>\n            <td>Determines if a User gets Push Notifications From Limble.</td>\n        </tr>\n        <tr>\n            <td>workdayHours</td>\n            <td>The number of hours a day this employee works.</td>\n        </tr>\n        <tr>\n            <td>dateAdded</td>\n            <td>The date a user was added to Limble.  This is a unix timestamp.</td>\n        </tr>\n        <tr>\n            <td>teams</td>\n            <td>What Teams a User has at specific Locations.</td>\n        </tr>\n    </tbody>\n</table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","users"],"host":["localhost"],"query":[{"description":{"content":"<p>This parameter expects a comma-separated list of users to get by id</p>\n","type":"text/plain"},"key":"users","value":"342"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get specific user by name. This parameter expects a string full name of a user or partial name with the wildcard %.</p>\n","type":"text/plain"},"key":"name","value":"%jeff%"},{"disabled":true,"description":{"content":"<p>This parameter expects a comma-separated list of users to get by roleID</p>\n","type":"text/plain"},"key":"roles","value":"320"},{"disabled":true,"description":{"content":"<p>This parameter expects a comma-separated list of users to get by teamID</p>\n","type":"text/plain"},"key":"teams","value":"436,437"},{"disabled":true,"description":{"content":"<p>This parameter is a cursor that selects what userID you want to start receiving results at. e.g. passing 137 here will only get you tasks with an id greater than 137.</p>\n","type":"text/plain"},"key":"cursor","value":"0"},{"disabled":true,"description":{"content":"<p>This parameter is a result limiter. The default is set to return no more than 100 results at one time.</p>\n","type":"text/plain"},"key":"limit","value":"100"}],"variable":[]}},"response":[{"id":"60dda453-2fd8-4d45-af15-1241f969025c","name":"Users","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/users","protocol":"https","host":["localhost"],"port":"3000","path":["v2","users"],"query":[{"key":"users","value":"341,340","description":"This parameter expects a comma-separated list of users to get by id","disabled":true},{"key":"name","value":"%jeff%","description":"This parameter is used to only get specific user by name. This parameter expects a string full name of a user or partial name with the wildcard %.","type":"text","disabled":true},{"key":"roles","value":"320","description":"This parameter expects a comma-separated list of users to get by roleID","type":"text","disabled":true},{"key":"teams","value":"436,437","description":"This parameter expects a comma-separated list of users to get by teamID","type":"text","disabled":true},{"key":"cursor","value":"0","description":"This parameter is a cursor that selects what userID you want to start receiving results at. e.g. passing 137 here will only get you tasks with an id greater than 137.","type":"text","disabled":true},{"key":"limit","value":"100","description":"This parameter is a result limiter. The default is set to return no more than 100 results at one time.","type":"text","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"3800","enabled":true},{"key":"ETag","value":"W/\"ed8-H3KA27yk3eil5s21uHFvg692XcY\"","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 16:14:46 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"userID\": 341,\n        \"username\": \"jeff\",\n        \"email\": \"jbezos@limblecmms.com\",\n        \"phone\": \"8015555555\",\n        \"firstName\": \"jeff\",\n        \"lastName\": \"bezos\",\n        \"wage\": 16,\n        \"active\": \"true\",\n        \"emailNotificationActive\": \"false\",\n        \"pushNotificationActive\": \"false\",\n        \"workdayHours\": 8,\n        \"dateAdded\": 0,\n        \"teams\": [\n            {\n                \"teamID\": 436,\n                \"locationID\": 74,\n                \"name\": \"Manager\"\n            },\n            {\n                \"teamID\": 436,\n                \"locationID\": 163,\n                \"name\": \"Manager\"\n            },\n            {\n                \"teamID\": 436,\n                \"locationID\": 584,\n                \"name\": \"Manager\"\n            },\n            {\n                \"teamID\": 437,\n                \"locationID\": 585,\n                \"name\": \"Technician\"\n            },\n            {\n                \"teamID\": 436,\n                \"locationID\": 587,\n                \"name\": \"Manager\"\n            }\n        ],\n        \"roles\": [\n            {\n                \"roleID\": 320,\n                \"locationID\": 74,\n                \"name\": \"Super User\"\n            },\n            {\n                \"roleID\": 321,\n                \"locationID\": 74,\n                \"name\": \"Manager\"\n            },\n            {\n                \"roleID\": 321,\n                \"locationID\": 163,\n                \"name\": \"Manager\"\n            },\n            {\n                \"roleID\": 321,\n                \"locationID\": 584,\n                \"name\": \"Manager\"\n            },\n            {\n                \"roleID\": 321,\n                \"locationID\": 587,\n                \"name\": \"Manager\"\n            },\n            {\n                \"roleID\": 322,\n                \"locationID\": 585,\n                \"name\": \"Technician\"\n            }\n        ]\n    }\n]"}],"_postman_id":"a10af8a1-d8be-467a-a2e3-7fc12498f9de"},{"name":"New User","event":[{"listen":"test","script":{"id":"318a7a59-8858-4b4a-b012-5331848deedf","exec":["const userID = pm.response.json().userID;","","pm.test(\"response is created\", () => {","    pm.response.to.have.status(201);","});","","pm.test(\"location header is valid\", () => {","    const locationHeader = postman.getResponseHeader('Location')","    pm.expect(locationHeader).to.eql(`/v2/users/?users=${userID}`);","});","","pm.globals.set('userID', userID);",""],"type":"text/javascript"}}],"id":"dffaaf7c-1654-4aff-8c0c-5f073314bfe6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"firstName\": \"jeff\",\n\t\"lastName\": \"Smith\",\n\t\"roleID\": 1032,\n\t\"email\": \"jsmith@limblecmms.com\",\n    \"password\": \"$uper $ecret\",\n\t\"phone\": \"8015555555\",\n\t\"locationID\": \"163\",\n\t\"wage\": 16,\n\t\"workDayHours\": 8,\n\t\"emailNotificationActive\": false,\n\t\"pushNotificationActive\": false\n}"},"url":"https://localhost:3000/v2/users/","description":"<p>This request creates a new User and emails them a welcome email with details on how to access Limble.</p>\n<table>\n    <thead>\n        <tr>\n            <th>Parameter</th>\n            <th>Type</th>\n            <th>Required?</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>firstName</td>\n            <td>String</td>\n            <td>Optional</td>\n            <td>The User's first name.</td>\n        </tr>\n        <tr>\n            <td>lastName</td>\n            <td>String</td>\n            <td>Optional</td>\n            <td>The User's last name.</td>\n        </tr>\n        <tr>\n            <td>email</td>\n            <td>string</td>\n            <td>Required</td>\n            <td>The User's email address.</td>\n        </tr>\n        <tr>\n            <td>password</td>\n            <td>string</td>\n            <td>Optional</td>\n            <td>The User's password.</td>\n        </tr>\n        <tr>\n            <td>locationID</td>\n            <td>Int</td>\n            <td>Required</td>\n            <td>The locationID of the Location the Role will be at.</td>\n        </tr>\n        <tr>\n            <td>roleID</td>\n            <td>Int</td>\n            <td>Required</td>\n            <td>The initial Role this user will be granted. This can be changed later with the \"Add Role To User\" request.\n            </td>\n        </tr>\n        <tr>\n            <td>phone</td>\n            <td>string</td>\n            <td>Optional</td>\n            <td>The User's phone number.</td>\n        </tr>\n        <tr>\n            <td>wage</td>\n            <td>number</td>\n            <td>Optional</td>\n            <td>The User's wage per hour.</td>\n        </tr>\n        <tr>\n            <td>workDayHours</td>\n            <td>number</td>\n            <td>Optional</td>\n            <td>The User's hours per day they work.</td>\n        </tr>\n        <tr>\n            <td>active</td>\n            <td>Boolean</td>\n            <td>Optional</td>\n            <td>The User's activation status.</td>\n        </tr>\n        <tr>\n            <td>emailNotificationActive</td>\n            <td>Boolean</td>\n            <td>Optional</td>\n            <td>The User's email notification activation status.  Should they receive email notifications?</td>\n        </tr>\n        <tr>\n            <td>pushNotificationActive</td>\n            <td>Boolean</td>\n            <td>Optional</td>\n            <td>The User's push notification activation status. Should they receive push notifications?</td>\n        </tr>\n    </tbody>\n</table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","users",""],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"00e81128-c05d-403f-8f07-4f045b354928","name":"New User","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"firstName\": \"jeff\",\n\t\"lastName\": \"babb\",\n\t\"roleID\": 1032,\n\t\"email\": \"jeff@limblecmms.com\",\n\t\"phone\": \"8015555555\",\n\t\"locationID\": \"163\",\n\t\"wage\": 16,\n\t\"workDayHours\": 8,\n\t\"emailNotificationActive\": false,\n\t\"pushNotificationActive\": false\n}"},"url":"https://localhost:3000/v2/users/"},"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"userID\": 1337\n}"}],"_postman_id":"dffaaf7c-1654-4aff-8c0c-5f073314bfe6"},{"name":"Update User","event":[{"listen":"test","script":{"id":"e2e8cf1c-5acc-4993-be76-cb754e3393c6","exec":["pm.test(\"response must be valid and have a body\", function () {\r","     // assert that the status code is 200\r","     pm.response.to.be.ok; // info, success, redirection, clientError,  serverError, are other variants\r","});"],"type":"text/javascript"}}],"id":"fc5576ad-728d-4fde-b1f6-83c9ad00132c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"firstName\": \"Bryan\",\n\t\"lastName\": \"Christiansen\",\n\t\"email\": \"bryan@limblecmms.com\",\n    \"username\": \"misterMan87\",\n    \"password\": \"very$trong p4$$w0rD#\",\n\t\"phone\": \"8015555555\",\n\t\"wage\": 16,\n\t\"workDayHours\": 8,\n\t\"active\": true,\n\t\"emailNotificationActive\": false,\n\t\"pushNotificationActive\": false\n}"},"url":"https://localhost:3000/v2/users/:userID","description":"<p>This request updates a User details such as first name, last name, phone number, active status and more.</p>\n<table>\n    <thead>\n        <tr>\n            <th>Parameter</th>\n            <th>Type</th>\n            <th>Required?</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>firstName</td>\n            <td>String</td>\n            <td>Optional</td>\n            <td>The User's first name.</td>\n        </tr>\n        <tr>\n            <td>lastName</td>\n            <td>String</td>\n            <td>Optional</td>\n            <td>The User's last name.</td>\n        </tr>\n        <tr>\n            <td>email</td>\n            <td>string</td>\n            <td>Optional</td>\n            <td>The User's email address.</td>\n        </tr>\n        <tr>\n            <td>username</td>\n            <td>string</td>\n            <td>Optional</td>\n            <td>The User's login name.</td>\n        </tr>\n        <tr>\n            <td>password</td>\n            <td>string</td>\n            <td>Optional</td>\n            <td>A new password for the User.</td>\n        </tr>\n        <tr>\n            <td>phone</td>\n            <td>string</td>\n            <td>Optional</td>\n            <td>The User's phone number.</td>\n        </tr>\n        <tr>\n            <td>wage</td>\n            <td>number</td>\n            <td>Optional</td>\n            <td>The User's wage per hour.</td>\n        </tr>\n        <tr>\n            <td>workDayHours</td>\n            <td>number</td>\n            <td>Optional</td>\n            <td>The User's hours per day they work.</td>\n        </tr>\n        <tr>\n            <td>active</td>\n            <td>Boolean</td>\n            <td>Optional</td>\n            <td>The User's activation status.</td>\n        </tr>\n        <tr>\n            <td>emailNotificationActive</td>\n            <td>Boolean</td>\n            <td>Optional</td>\n            <td>The User's email notification activation status.</td>\n        </tr>\n        <tr>\n            <td>pushNotificationActive</td>\n            <td>Boolean</td>\n            <td>Optional</td>\n            <td>The User's push notification activation status.</td>\n        </tr>\n    </tbody>\n</table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","users",":userID"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>userID of the user you are updating.</p>\n","type":"text/plain"},"type":"any","value":"{{userID}}","key":"userID"}]}},"response":[{"id":"c26232c5-bff0-4514-846a-46f0c911fbb1","name":"Update User","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"firstName\": \"Bryan\",\n\t\"lastName\": \"Christiansen\",\n\t\"email\": \"bryan@limblecmms.com\",\n\t\"phone\": \"8015555555\",\n\t\"wage\": 16,\n\t\"workDayHours\": 8,\n\t\"active\": true,\n\t\"emailNotificationActive\": false,\n\t\"pushNotificationActive\": false\n}"},"url":{"raw":"https://localhost:3000/v2/users/:userID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","users",":userID"],"variable":[{"key":"userID","value":"341","description":"userID of the user you are updating."}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 21:58:27 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"fc5576ad-728d-4fde-b1f6-83c9ad00132c"},{"name":"Delete User","event":[{"listen":"test","script":{"id":"37b245c2-a64c-4581-8e1c-9065f6cd1688","exec":["pm.test(\"response must be valid and have a body\", function () {\r","     // assert that the status code is 200\r","     pm.response.to.be.ok; // info, success, redirection, clientError,  serverError, are other variants\r","});"],"type":"text/javascript"}}],"id":"a5840414-3b9c-40fb-8fda-7b21a7ba42c8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://localhost:3000/v2/users/:userID","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","users",":userID"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>userID of the user you are removing.</p>\n","type":"text/plain"},"type":"any","value":"{{userID}}","key":"userID"}]}},"response":[{"id":"5e0c3f60-eaea-49da-a34b-d1c75cffdf3f","name":"Delete User","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://localhost:3000/v2/users/:userID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","users",":userID"],"variable":[{"key":"userID","value":"1864","description":"userID of the user you are removing."}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 21:57:30 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"a5840414-3b9c-40fb-8fda-7b21a7ba42c8"}],"id":"acb940db-18df-40d5-b4ac-5c932fa805b5","_postman_id":"acb940db-18df-40d5-b4ac-5c932fa805b5","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Vendors","item":[{"name":"Fields","item":[{"name":"Vendor Fields","event":[{"listen":"test","script":{"id":"e78cf112-9342-4044-95c8-d1e7bdac989d","exec":["// example using pm.response.to.be*\r","pm.test(\"response must be valid and have a body\", function () {\r","     // assert that the status code is 200\r","     pm.response.to.be.ok; // info, success, redirection, clientError,  serverError, are other variants\r","     // assert that the response has a valid JSON body\r","     pm.response.to.be.withBody;\r","     pm.response.to.be.json; // this assertion also checks if a body  exists, so the above check is not needed\r","});"],"type":"text/javascript"}}],"id":"127aed02-d8a7-481e-9c4a-a2e62fe6a52e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/vendors/fields/?fields=1,2&name=%pic%&vendors=1&start=1555105636&end=1555105636&cursor=0&limit=1&value=355&page=1","description":"<p>This request gets detailed information about Vendor Fields such as contact information, contracts and any other custom set field.</p>\n<p>This request will return an array of objects that have a file name and a link you can use to download that image. All links are only valid for 15 minutes, a new call will generate a new link.</p>\n<p><strong>Note:</strong> this endpoint supports pagination. Please refer to the <a href=\"#pagination\"><strong>Pagination</strong></a> section for more information.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","vendors","fields",""],"host":["localhost"],"query":[{"description":{"content":"<p>This parameter is used to only get specific fields by ID. This parameter expects a comma delimited list of fieldIDs.</p>\n","type":"text/plain"},"key":"fields","value":"1,2"},{"description":{"content":"<p>This parameter is used to only get specific field by name. This parameter expects a string full name of a field or partial name with the wildcard %.</p>\n","type":"text/plain"},"key":"name","value":"%pic%"},{"description":{"content":"<p>This parameter is used to only get specific Vendors. This parameter expects a comma delimited list of Vendor IDs.</p>\n","type":"text/plain"},"key":"vendors","value":"1"},{"description":{"content":"<p>This parameter is used to only get vendor fields for vendors that were last edited after the unix timestamp passed into the start parameter. For example, all Vendors that were last edited after April 18th, 2018.</p>\n","type":"text/plain"},"key":"start","value":"1555105636"},{"description":{"content":"<p>This parameter is used to only get vendor fields for vendors that were last edited <em>before</em> the unix timestamp passed into the end parameter.</p>\n","type":"text/plain"},"key":"end","value":"1555105636"},{"description":{"content":"<p>This parameter is a cursor that selects what fieldID you want to start receiving results at. e.g. passing 137 here will only get you vendor fields with an id greater than 137.</p>\n","type":"text/plain"},"key":"cursor","value":"0"},{"description":{"content":"<p>This parameter is a result limiter. The default is set to return no more than 100 results at one time.</p>\n","type":"text/plain"},"key":"limit","value":"1"},{"description":{"content":"<p>This parameter is used to only get specific field by value. This parameter expects a string full name of a field or partial name with the wildcard %.</p>\n","type":"text/plain"},"key":"value","value":"355"},{"description":{"content":"<p>This parameter is used to paginate results based on the limit. Refer to Pagination section for more information.</p>\n","type":"text/plain"},"key":"page","value":"1"},{"disabled":true,"description":{"content":"<p>This parameter is used to get vendor fields by their valueID. This parameter expects a comma delimited list of Value IDs.</p>\n","type":"text/plain"},"key":"values","value":"1,2"}],"variable":[]}},"response":[{"id":"d4a8810b-892c-4d45-84e8-ab1ab60ffcd1","name":"Vendor Fields","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/vendors/fields/","protocol":"https","host":["localhost"],"port":"3000","path":["v2","vendors","fields",""],"query":[{"key":"fields","value":"1,2","description":"This parameter is used to only get specific fields by ID. This parameter expects a comma delimited list of fieldIDs.","type":"text","disabled":true},{"key":"vendors","value":"1","description":"This parameter is used to only get specific Vendors. This parameter expects a comma delimited list of Vendor IDs.","type":"text","disabled":true},{"key":"start","value":"1555105636","description":"This parameter is used to only get vendor fields for vendors that were last edited after the unix timestamp passed into the start parameter. For example, all Vendors that were last edited after April 18th, 2018.","type":"text","disabled":true},{"key":"end","value":"1555105636","description":"This parameter is used to only get vendor fields for vendors that were last edited *before* the unix timestamp passed into the end parameter.","disabled":true},{"key":"cursor","value":"0","description":"This parameter is a cursor that selects what fieldID you want to start receiving results at. e.g. passing 137 here will only get you vendor fields with an id greater than 137.","type":"text","disabled":true},{"key":"limit","value":"100","description":"This parameter is a result limiter. The default is set to return no more than 100 results at one time.","type":"text","disabled":true},{"key":"page","value":"1","description":"This parameter is used to paginate results based on the limit. Refer to Pagination section for more information.","type":"text","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"296","enabled":true},{"key":"ETag","value":"W/\"128-30nvK1/DAJV5u2vCQJQg7f36ifY\"","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 17:02:25 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"fieldID\": 1,\n        \"vendorID\": 1,\n        \"fieldName\": \"pic\",\n        \"value\": null,\n        \"valueID\": 1,\n        \"fieldType\": \"Pictures\",\n        \"lastEdited\": 1567139818,\n        \"locationID\": 330,\n        \"files\": [\n            {\n                \"fileName\": \"41527325_10157931415518298_4759790604056002560_n.jpg\",\n                \"link\": \"https://content.limblecmms.com/upload-36/vendors/330/1/1/41527325_10157931415518298_4759790604056002560_n.jpg?Expires=1572459681&Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9jb250ZW50LmxpbWJsZWNtbXMuY29tL3VwbG9hZC0zNi92ZW5kb3JzLzMzMC8xLzEvNDE1MjczMjVfMTAxNTc5MzE0MTU1MTgyOThfNDc1OTc5MDYwNDA1NjAwMjU2MF9uLmpwZyIsIkNvbmRpdGlvbiI6eyJEYXRlTGVzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6MTU3MjQ1OTY4MX19fV19&Signature=Iyd-KhXQvTp4sovnX~HMe4Iim~MhDdJlNb8B6nxgeiq1wmW-iOuS3lR2ZyFUHUu~02q3JQSvXvJZSeTUEkEdzt9V8oFnIPBb1n5tMgzK2SafvkOKZcOnGNQdYd3NW~EiKugA9xsMKVlfExyYbaGT6tKDiASUEj0NKwy5xjjN1DlniFzM0jW1M2X6F6--w0H2XbiKKfUJQzmgWHVM8nlk4vVik153NAGSjetwOSc5uAw1FJQ~PlaU92MbalE2d9F7cQonT9RHJmnf03lF9ww8vlMUHEfJ-PBHTJJeiAXgymggdQk60OKFQ3vf2CJJoDbr2Bi7an911UrNXs8KB1pfiw__&Key-Pair-Id=APKAIH5A42E3EPKJRHFQ\"\n            }\n        ]\n    },\n    {\n        \"fieldID\": 2,\n        \"vendorID\": 1,\n        \"field\": \"testText\",\n        \"value\": \"test\",\n        \"valueID\": 2,\n        \"fieldType\": \"Text\",\n        \"locationID\": 330,\n        \"files\": null,\n        \"lastEdited\": 1555105636\n    }\n]"}],"_postman_id":"127aed02-d8a7-481e-9c4a-a2e62fe6a52e"},{"name":"Vendor Suggested Fields","event":[{"listen":"test","script":{"id":"e78cf112-9342-4044-95c8-d1e7bdac989d","exec":["// example using pm.response.to.be*\r","pm.test(\"response must be valid and have a body\", function () {\r","     // assert that the status code is 200\r","     pm.response.to.be.ok; // info, success, redirection, clientError,  serverError, are other variants\r","     // assert that the response has a valid JSON body\r","     pm.response.to.be.withBody;\r","     pm.response.to.be.json; // this assertion also checks if a body  exists, so the above check is not needed\r","});"],"type":"text/javascript"}}],"id":"8c10411f-e243-4a0c-bcba-ca8436598fe7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/vendors/fields/suggested?fields=1,2&name=%pic%&cursor=0&limit=100","description":"<p>This request gets all possible fields a Vendor can pick from when deciding which fields it should have.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","vendors","fields","suggested"],"host":["localhost"],"query":[{"description":{"content":"<p>This parameter can be used to get a single Vendor Fields or a list of Vendor Fields in a comma-separated list.</p>\n","type":"text/plain"},"key":"fields","value":"1,2"},{"description":{"content":"<p>This parameter is used to only get specific field by name. This parameter expects a string full name of a field or partial name with the wildcard %.</p>\n","type":"text/plain"},"key":"name","value":"%pic%"},{"description":{"content":"<p>This parameter is a cursor that selects what fieldID you want to start receiving results at. e.g. passing 137 here will only get you vendor fields with an id greater than 137.</p>\n","type":"text/plain"},"key":"cursor","value":"0"},{"description":{"content":"<p>This parameter is a result limiter. The default is set to return no more than 100 results at one time.</p>\n","type":"text/plain"},"key":"limit","value":"100"}],"variable":[]}},"response":[{"id":"51fa6ffb-8b97-4ea2-8489-359513a131a1","name":"Vendor Suggested Fields","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/vendors/fields/suggested","protocol":"https","host":["localhost"],"port":"3000","path":["v2","vendors","fields","suggested"],"query":[{"key":"fields","value":"1,2","disabled":true},{"key":"name","value":"%pic%","disabled":true},{"key":"cursor","value":"0","disabled":true},{"key":"limit","value":"100","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"242","enabled":true},{"key":"ETag","value":"W/\"f2-G6gWdrt8PFn9Fn268CGZJqUbtSM\"","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 17:03:14 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"fieldID\": 1,\n        \"fieldType\": \"Pictures\",\n        \"fieldName\": \"pic\",\n        \"locationID\": 330\n    },\n    {\n        \"fieldID\": 2,\n        \"fieldType\": \"Text\",\n        \"fieldName\": \"testText\",\n        \"locationID\": 330\n    }\n]"}],"_postman_id":"8c10411f-e243-4a0c-bcba-ca8436598fe7"},{"name":"Update Vendor Field Value","event":[{"listen":"test","script":{"id":"4a91e0c8-3b8a-423b-8ea0-b546128d1a69","exec":["pm.test(\"response should be okay to process\", function () { ","    pm.response.to.not.be.error; ","    pm.response.to.not.have.jsonBody(\"error\"); ","});"],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"8f0fa520-fb95-4ea8-89ba-39d577e8ff92","exec":["var fieldValue = () => `vendor field value - ${Math.floor(Math.random() * 10000000)}`;","pm.globals.set('vendorFieldValue', fieldValue());"],"type":"text/javascript"}}],"id":"b243f1d8-8c0c-41ef-847c-32c58ba0698c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"value\": \"new value\"\n}"},"url":"https://localhost:3000/v2/vendors/fields/:valueID","description":"<p>This request updates a Vendor's field value.</p>\n<table>\n    <thead>\n        <tr>\n            <th>Parameter</th>\n            <th>Type</th>\n            <th>Required?</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>value</td>\n            <td>Depends on fieldType</td>\n            <td>Required</td>\n            <td>The value that will be written to the field. \"value\" must correspond to the fieldType of the field. For example, if the field is a \"number\" fieldType, then \"value\" must be a number.\n            </td>\n        </tr>\n    </tbody>\n</table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","vendors","fields",":valueID"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"21","key":"valueID"}]}},"response":[{"id":"9336841c-a478-406d-be02-39bb4b8a569f","name":"Update Vendor Field Value","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"value\": \"new value\"\n}"},"url":{"raw":"https://localhost:3000/v2/vendors/fields/:valueID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","vendors","fields",":valueID"],"variable":[{"key":"valueID","value":"2"}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 17:04:59 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"b243f1d8-8c0c-41ef-847c-32c58ba0698c"},{"name":"Attach Field to Vendor","event":[{"listen":"test","script":{"id":"55c168ce-27f4-48e5-a09d-e46600793038","exec":["const valueID = pm.response.json().valueID;","","pm.test(\"response is created\", () => {","    pm.response.to.have.status(201);","});","","pm.globals.set('vendorValueID', valueID);","",""],"type":"text/javascript"}}],"id":"f48fee67-f6a1-4eef-a9d6-5108c59e9e92","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"Accept","type":"text","value":"text/html"}],"body":{"mode":"raw","raw":"{\n\t\"fieldID\": {{vendorFieldID}},\n\t\"locationID\": {{locationID}}\n}"},"url":"https://localhost:3000/v2/vendors/:vendorID/fields","description":"<p>This request attaches a Suggested Field to a Vendor.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","vendors",":vendorID","fields"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"1","key":"vendorID"}]}},"response":[{"id":"33857441-e590-436f-a066-86a9e2dff6f0","name":"Attach Field to Vendor","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"Accept","type":"text","value":"text/html"}],"body":{"mode":"raw","raw":"{\n\t\"fieldID\": {{vendorFieldID}},\n\t\"locationID\": {{locationID}}\n}"},"url":{"raw":"https://localhost:3000/v2/vendors/:vendorID/fields","protocol":"https","host":["localhost"],"port":"3000","path":["v2","vendors",":vendorID","fields"],"variable":[{"key":"vendorID","value":"1"}]}},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"15","enabled":true},{"key":"ETag","value":"W/\"f-O6COzeNxo43irGNOLoNFfYmHKR0\"","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 17:05:30 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"valueID\": \"4\"\n}"}],"_postman_id":"f48fee67-f6a1-4eef-a9d6-5108c59e9e92"},{"name":"New Vendor Suggested Field","event":[{"listen":"prerequest","script":{"id":"4f131dce-c4d2-4a84-bcf6-8e4b8142be36","exec":["var fieldName = () => `new vendor field - ${Math.floor(Math.random() * 10000000)}`;","pm.globals.set('newVendorFieldName', fieldName());",""],"type":"text/javascript"}},{"listen":"test","script":{"id":"c62c2495-bc9c-4428-b2a5-5a06fa631ffa","exec":["const vendorFieldID = pm.response.json().fieldID;","","pm.test(\"response is created\", () => {","    pm.response.to.have.status(201);","});","","pm.test(\"location header is valid\", () => {","    const locationHeader = postman.getResponseHeader('Location')","    pm.expect(locationHeader).to.eql(`/v2/vendors/fields/?fields=${vendorFieldID}`);","})","","pm.globals.set('vendorFieldID', vendorFieldID);",""],"type":"text/javascript"}}],"id":"34e2a4b9-5d86-4788-96e6-ce77aa56f703","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"locationID\": {{locationID}},\n\t\"name\": \"{{newVendorFieldName}}\",\n\t\"fieldTypeID\": 1\n}\n"},"url":"https://localhost:3000/v2/vendors/fields/","description":"<p>This request adds a new Field to the list of Suggested Fields that can later be attached to Vendors.</p>\n<table>\n    <thead>\n        <tr>\n            <th>Parameter</th>\n            <th>Type</th>\n            <th>Required?</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>locationID</td>\n            <td>Int</td>\n            <td>Required</td>\n            <td>The location ID of the Location to add the new Field to.</td>\n        </tr>\n        <tr>\n            <td>name</td>\n            <td>String</td>\n            <td>Required</td>\n            <td>The name of the new Field. <b>Some custom field names such as \"Vendor Name\" are not allowed and reserved for internal use. This will result in a 409 error.</b></td>\n        </tr>\n        <tr>\n            <td>fieldType</td>\n            <td>Int</td>\n            <td>Required</td>\n            <td>The type of the new Field. You can choose from Text (1), Date (2), Pictures (3), Documents (4), Number (5), Currency (6).</td>\n        </tr>\n    </tbody>\n</table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","vendors","fields",""],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"84c4a910-0050-46bb-a80b-0dc413d7d849","name":"New Vendor Suggested Field","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"locationID\": {{locationID}},\n\t\"name\": \"{{newVendorFieldName}}\",\n\t\"fieldTypeID\": 1\n}\n"},"url":"https://localhost:3000/v2/vendors/fields/"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Location","value":"/v2/vendors/fields/?fields=5","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"15","enabled":true},{"key":"ETag","value":"W/\"f-x/3revtzXcVCduyacFX2oXn1T0s\"","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 21:56:19 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"fieldID\": \"5\"\n}"}],"_postman_id":"34e2a4b9-5d86-4788-96e6-ce77aa56f703"},{"name":"Delete Vendor Field","id":"0e8ff48c-2467-4545-9f15-3087ee70578b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://localhost:3000/v2/vendors/fields/:valueID","description":"<p>This request deletes a custom field attached to a Vendor.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","vendors","fields",":valueID"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>valueID of the field you are removing.</p>\n","type":"text/plain"},"type":"any","value":"182","key":"valueID"}]}},"response":[{"id":"b7bce40f-2e66-4d95-9d80-88f66182946f","name":"Delete Vendor Field","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://localhost:3000/v2/vendors/fields/:valueID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","vendors","fields",":valueID"],"variable":[{"key":"valueID","value":"182","description":"valueID of the field you are removing."}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Mon, 12 Jul 2021 18:00:34 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"0e8ff48c-2467-4545-9f15-3087ee70578b"}],"id":"c0ad74a6-fc06-40cd-bf97-9174e417b047","event":[{"listen":"prerequest","script":{"id":"4f4c4959-0790-4c02-be6e-209772a1afba","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"a4dd90ef-b55d-43a4-bb9e-7ed9e93b2997","type":"text/javascript","exec":[""]}}],"_postman_id":"c0ad74a6-fc06-40cd-bf97-9174e417b047","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Images","item":[{"name":"Add Vendor Image","event":[{"listen":"prerequest","script":{"id":"4f131dce-c4d2-4a84-bcf6-8e4b8142be36","exec":[""],"type":"text/javascript"}},{"listen":"test","script":{"id":"c62c2495-bc9c-4428-b2a5-5a06fa631ffa","exec":["pm.test(\"response is created\", () => {","    pm.response.to.have.status(200);","});"],"type":"text/javascript"}}],"id":"a537fa0b-08e3-4884-b01f-ba3897938832","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"formdata","formdata":[{"key":"image","type":"file","src":"4k-wallpaper-background-beautiful-853199.jpg"}]},"url":"https://localhost:3000/v2/vendors/:vendorID/image","description":"<p>This request adds the main image to a Vendor.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","vendors",":vendorID","image"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>The ID of the vendor you are adding the image to.</p>\n","type":"text/plain"},"type":"any","value":"{{vendorID}}","key":"vendorID"}]}},"response":[{"id":"63112d5c-0067-48f3-bcdf-37c5722f29f0","name":"Add Vendor Image","originalRequest":{"method":"PUT","header":[],"body":{"mode":"formdata","formdata":[{"key":"image","type":"file","src":"heic1509a.jpg"}]},"url":{"raw":"https://localhost:3000/v2/vendors/:vendorID/image","protocol":"https","host":["localhost"],"port":"3000","path":["v2","vendors",":vendorID","image"],"variable":[{"key":"vendorID","value":"2","description":"The ID of the vendor you are adding the image to."}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 17:12:21 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"a537fa0b-08e3-4884-b01f-ba3897938832"},{"name":"Delete Vendor Image","event":[{"listen":"prerequest","script":{"id":"87ee70c8-43de-44bd-bfd3-c53c0791738b","exec":[""],"type":"text/javascript"}},{"listen":"test","script":{"id":"51e80c59-d919-48d2-974e-4ec3858e81be","exec":["pm.test(\"response is created\", () => {","    pm.response.to.have.status(200);","});","",""],"type":"text/javascript"}}],"id":"2b337680-6626-46af-ab01-73d84bbdf61c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"url":"https://localhost:3000/v2/vendors/:vendorID/image","description":"<p>This request removes the main image from a Vendor.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","vendors",":vendorID","image"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"{{vendorID}}","key":"vendorID"}]}},"response":[{"id":"9b01be3a-4bdf-40a0-b1d3-ef55e3ff0f89","name":"Delete Vendor Image","originalRequest":{"method":"DELETE","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"url":{"raw":"https://localhost:3000/v2/vendors/:vendorID/image","protocol":"https","host":["localhost"],"port":"3000","path":["v2","vendors",":vendorID","image"],"variable":[{"key":"vendorID","value":"2"}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 17:14:17 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"2b337680-6626-46af-ab01-73d84bbdf61c"}],"id":"f82e44aa-47b6-4c1c-9cf8-025453f48596","event":[{"listen":"prerequest","script":{"id":"2123abe3-f22f-4cbe-958b-8acfb581f467","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"a22f8ae7-44a7-45e6-9f64-3d4f1a2b8956","type":"text/javascript","exec":[""]}}],"_postman_id":"f82e44aa-47b6-4c1c-9cf8-025453f48596","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Logs","item":[{"name":"Files","item":[{"name":"Delete Vendor Log File","id":"2f3913ea-75a4-430c-8c55-50ee8d213146","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://localhost:3000/v2/vendors/logs/file/:fileID","description":"<p>This requests deletes a file attached to a log.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","vendors","logs","file",":fileID"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>The ID of the file attached to the log.</p>\n","type":"text/plain"},"type":"any","value":"7","key":"fileID"}]}},"response":[{"id":"73196ffc-988e-4bb9-a165-c9e040d804db","name":"Delete Vendor Log File","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://localhost:3000/v2/vendors/logs/file/:fileID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","vendors","logs","file",":fileID"],"variable":[{"key":"fileID","value":null}]}},"_postman_previewlanguage":"Text","header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"2f3913ea-75a4-430c-8c55-50ee8d213146"},{"name":"Add Vendor Log File","id":"3b8d7fe2-8a00-495f-8d1b-3256cad10b9e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"formdata","formdata":[{"key":"file","type":"file","src":"/C:/Users/Hely Mehta/Downloads/lorem-ipsum.pdf"}]},"url":"https://localhost:3000/v2/vendors/:vendorID/logs/:logID/file","description":"<p>This request adds files to a log.</p>\n<p><b>Return data description</b></p>\n\n<table><tbody><tr><th>Property</th><th>Description</th></tr><tr><td>fileID</td><td>The ID of the file attached to the log.</td></tr></tbody></table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","vendors",":vendorID","logs",":logID","file"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>The ID of the vendor the log belongs to.</p>\n","type":"text/plain"},"type":"any","value":"9","key":"vendorID"},{"description":{"content":"<p>The ID of the log to attach the file to.</p>\n","type":"text/plain"},"type":"any","value":"11","key":"logID"}]}},"response":[{"id":"7b041172-230b-404f-8e29-7b986355845a","name":"Add Vendor Log File","originalRequest":{"method":"PUT","header":[],"body":{"mode":"formdata","formdata":[{"key":"file","type":"file","src":"/C:/Users/Hely Mehta/Downloads/lorem-ipsum.pdf"}]},"url":{"raw":"https://localhost:3000/v2/vendors/:vendorID/logs/:logID/file","protocol":"https","host":["localhost"],"port":"3000","path":["v2","vendors",":vendorID","logs",":logID","file"],"variable":[{"key":"vendorID","value":"1","description":"The ID of the vendor the log belongs to."},{"key":"logID","value":"10","description":"The ID of the log to attach the file to."}]}},"_postman_previewlanguage":"Text","header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"3b8d7fe2-8a00-495f-8d1b-3256cad10b9e"}],"id":"b4c88e79-5be5-4507-8bfb-226c6bf9b287","_postman_id":"b4c88e79-5be5-4507-8bfb-226c6bf9b287","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Vendor Logs","id":"4da85839-d4f8-450e-8e28-05c92d959f58","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/vendors/:vendorID/logs","description":"<p>This request returns the manual log entries for a vendor.</p>\n<p>This request returns logs created manually by users on vendors. Logs related to tasks with vendors will not be returned.</p>\n<p><strong>Note:</strong> this endpoint supports pagination. Please refer to the <a href=\"#pagination\"><strong>Pagination</strong></a> section for more information.</p>\n<p><b>Return data description</b></p>\n\n<table><tbody><tr><th>Property</th><th>Description</th></tr><tr><td>logID</td><td>The unique logID of the log.</td></tr><tr><td>dateCreated</td><td>The date the log was created as a UNIX timestamp.</td></tr><tr><td>vendorD</td><td>The ID of the vendor the log belongs to.</td></tr><tr><td>logEntry</td><td>The log entry for the vendor.</td></tr><tr><td>userID</td><td>The ID of the user that created the log.</td></tr><tr><td>logFiles</td><td>An array of objects that have a fileID, fileName and a link that can used to download the files attached to the log. All links are only valid for 15 minutes, a new call will generate a new link.</td></tr></tbody></table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","vendors",":vendorID","logs"],"host":["localhost"],"query":[{"disabled":true,"description":{"content":"<p>This parameter is used to only get specific logs. This parameter accepts a comma delimited list of logIDs.</p>\n","type":"text/plain"},"key":"logs","value":"2,3"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get logs created by specific users. This parameter accepts a comma delimited list of userIDs.</p>\n","type":"text/plain"},"key":"users","value":"340"},{"disabled":true,"description":{"content":"<p>This is a parameter used to string search for manual log entry. This parameter expects a string with the wildcard %.</p>\n","type":"text/plain"},"key":"logEntry","value":"%test%"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get logs that were last edited after the unix timestamp passed into the start parameter. </p>\n","type":"text/plain"},"key":"start","value":"1555085800"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get logs that were last edited before the unix timestamp passed into the end parameter.</p>\n","type":"text/plain"},"key":"end","value":"1555087900"},{"disabled":true,"description":{"content":"<p>This parameter is used to paginate results based on the limit. Refer to Pagination section for more information.</p>\n","type":"text/plain"},"key":"page","value":"1"},{"disabled":true,"description":{"content":"<p>This parameter is a result limiter. The default is set to return no more than 100 results at one time.</p>\n","type":"text/plain"},"key":"limit","value":"1"},{"disabled":true,"description":{"content":"<p>This parameter is a cursor that selects what ID you want to start receiving results at. </p>\n","type":"text/plain"},"key":"cursor","value":""}],"variable":[{"description":{"content":"<p>The ID of the vendor you need the logs for.</p>\n","type":"text/plain"},"type":"any","value":"9","key":"vendorID"}]}},"response":[{"id":"6961563e-2feb-42ed-8cf2-cb5e11a92d1b","name":"Vendor Logs","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/vendors/:vendorID/logs?logs=2,3&users=340&logEntry=%test%&start=1555085800&end=1555087900&page=1","protocol":"https","host":["localhost"],"port":"3000","path":["v2","vendors",":vendorID","logs"],"query":[{"key":"logs","value":"2,3","description":"This parameter is used to only get specific logs. This parameter accepts a comma delimited list of logIDs."},{"key":"users","value":"340","description":"This parameter is used to only get logs created by specific users. This parameter accepts a comma delimited list of userIDs."},{"key":"logEntry","value":"%test%","description":"This is a parameter used to string search for manual log entry. This parameter expects a string with the wildcard %."},{"key":"start","value":"1555085800","description":"This parameter is used to only get logs that were last edited after the unix timestamp passed into the start parameter. "},{"key":"end","value":"1555087900","description":"This parameter is used to only get logs that were last edited before the unix timestamp passed into the end parameter."},{"key":"page","value":"1","description":"This parameter is used to paginate results based on the limit. Refer to Pagination section for more information."},{"key":"limit","value":"1","description":"This parameter is a result limiter. The default is set to return no more than 100 results at one time.","disabled":true},{"key":"cursor","value":"","description":"This parameter is a cursor that selects what ID you want to start receiving results at. ","disabled":true}],"variable":[{"key":"vendorID","value":"1"}]}},"_postman_previewlanguage":"Text","header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"4da85839-d4f8-450e-8e28-05c92d959f58"},{"name":"New Vendor Log","id":"e3a300c4-b28b-4913-9583-28024216f002","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"userID\": 342,\r\n    \"logEntry\": \"Creating a log\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/vendors/:vendorID/logs","description":"<p>This creates a manual log entry for a vendor.</p>\n<table><tbody><tr><th>Parameter</th><th>Type</th><th>Required?</th><th>Description</th></tr><tr><td>userID</td><td>Int</td><td>Required</td><td>The ID of the user creating the log.</td></tr><tr><td>logEntry</td><td>String</td><td>Required</td><td>Details of the log.</td></tr></tbody></table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","vendors",":vendorID","logs"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>The ID of the vendor for which the log will be created.</p>\n","type":"text/plain"},"type":"any","value":"9","key":"vendorID"}]}},"response":[{"id":"60921b85-93f5-4aed-ba94-c0e108fd837c","name":"New Vendor Log","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"userID\": 341,\r\n    \"logEntry\": \"Creating a log\"\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://localhost:3000/v2/vendors/:vendorID/logs","protocol":"https","host":["localhost"],"port":"3000","path":["v2","vendors",":vendorID","logs"],"variable":[{"key":"vendorID","value":"20052","description":"The ID of the vendor for which the log will be created."}]}},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 17 May 2023 18:06:21 GMT","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"14","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"X-RateLimit-Limit","value":"1000","enabled":true},{"key":"X-RateLimit-Minute-Limit","value":"240","enabled":true},{"key":"X-RateLimit-Remaining","value":"993","enabled":true},{"key":"X-RateLimit-First-Call","value":"1684346312","enabled":true},{"key":"X-RateLimit-Minute-Remaining","value":"239","enabled":true},{"key":"X-RateLimit-Minute-First-Call","value":"1684346781","enabled":true},{"key":"ETag","value":"W/\"e-57MXhf0IK9AbsR4UneMIjnLpU7c\"","enabled":true},{"key":"X-CDN","value":"Imperva","enabled":true},{"key":"X-Iinfo","value":"14-16477094-16387295 sNNN RT(1684346311771 469483) q(0 0 0 -1) r(1 1) U6","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"logID\": 4354\n}"}],"_postman_id":"e3a300c4-b28b-4913-9583-28024216f002"},{"name":"Update Vendor Log","id":"d73990ef-4873-42bf-af93-2071bf17de7d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"logEntry\": \"Changing log\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/vendors/logs/:logID","description":"<p>This request updates a manual log entry for a vendor.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","vendors","logs",":logID"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>The ID of the log to be updated.</p>\n","type":"text/plain"},"type":"any","value":"10","key":"logID"}]}},"response":[{"id":"8b4370b8-1ef6-4cdb-9ea1-3f47074b7ce3","name":"Update Vendor Log","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"logEntry\": \"Changing log\"\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://localhost:3000/v2/vendors/logs/:logID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","vendors","logs",":logID"],"variable":[{"key":"logID","value":"11","description":"The ID of the log to be updated."}]}},"_postman_previewlanguage":"Text","header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"d73990ef-4873-42bf-af93-2071bf17de7d"},{"name":"Delete Vendor Log","id":"9f4ea601-631f-4939-943a-8533c7377bd1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://localhost:3000/v2/vendors/logs/:logID","description":"<p>This request deleted a manual log entry for a vendor.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","vendors","logs",":logID"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>The ID of the log to be deleted.</p>\n","type":"text/plain"},"type":"any","value":"10","key":"logID"}]}},"response":[{"id":"ab9ba44b-ff20-4b2a-9625-7fcdbafe242a","name":"Delete Vendor Log","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://localhost:3000/v2/vendors/logs/:logID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","vendors","logs",":logID"],"variable":[{"key":"logID","value":"10","description":"The ID of the log to be deleted."}]}},"_postman_previewlanguage":"Text","header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"9f4ea601-631f-4939-943a-8533c7377bd1"}],"id":"e312b9a4-e216-4e99-a21a-f4ade3ca0c01","_postman_id":"e312b9a4-e216-4e99-a21a-f4ade3ca0c01","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Vendors","event":[{"listen":"test","script":{"id":"00c537f2-e691-48e3-903d-ecb05b00c19f","exec":["pm.test(\"response must be valid and have a body\", function () {\r","     // assert that the status code is 200\r","     pm.response.to.be.ok; // info, success, redirection, clientError,  serverError, are other variants\r","     // assert that the response has a valid JSON body\r","     pm.response.to.be.withBody;\r","     pm.response.to.be.json; // this assertion also checks if a body  exists, so the above check is not needed\r","});"],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"97e1c473-f236-4c99-bbd5-5684bbd47d15","exec":[""],"type":"text/javascript"}}],"id":"c6fb0d2e-83c5-42e4-970f-577885047526","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/vendors","description":"<p>This request gets information such as VendorIDs, Vendor Names, etc.</p>\n<p>This call returns a \"meta\" object containing URLs that can be used to get data related to a vendor.</p>\n<p>This call will also return an image array of objects that have a file name and a link you can use to download that image. All links are only valid for 15 minutes, a new call will generate a new link.</p>\n<p><strong>Note:</strong> this endpoint supports pagination. Please refer to the <a href=\"#pagination\"><strong>Pagination</strong></a> section for more information.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","vendors"],"host":["localhost"],"query":[{"disabled":true,"description":{"content":"<p>This parameter is used to only get specific Vendors. This parameter expects a comma delimited list of Vendor IDs.</p>\n","type":"text/plain"},"key":"vendors","value":"9"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get Vendors at a specific group of Locations. This parameter accepts a comma delimited list of Location IDs.</p>\n","type":"text/plain"},"key":"locations","value":"163"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get specific vendor by name. This parameter expects a string full name of a vendor or partial name with the wildcard %.</p>\n","type":"text/plain"},"key":"name","value":"%test%"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get Vendors that were last edited after the unix timestamp passed into the start parameter. For example, all Vendors that were last edited after April 18th, 2018.</p>\n","type":"text/plain"},"key":"start","value":"1560233040"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get Vendors that were last edited <em>before</em> the unix timestamp passed into the end parameter.</p>\n","type":"text/plain"},"key":"end","value":"1613665140"},{"disabled":true,"description":{"content":"<p>This parameter is a cursor that selects what vendorID you want to start receiving results at. e.g. passing 137 here will only get you vendors with an id greater than 137.</p>\n","type":"text/plain"},"key":"cursor","value":"0"},{"disabled":true,"description":{"content":"<p>This parameter is a result limiter. The default is set to return no more than 100 results at one time.</p>\n","type":"text/plain"},"key":"limit","value":"2"},{"disabled":true,"description":{"content":"<p>This parameter is used to paginate results based on the limit. Refer to Pagination section for more information.</p>\n","type":"text/plain"},"key":"page","value":"1"}],"variable":[]}},"response":[{"id":"3a575f19-2151-4242-92f2-fe1cc8f6aa35","name":"Vendors","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/vendors?page","protocol":"https","host":["localhost"],"port":"3000","path":["v2","vendors"],"query":[{"key":"vendors","value":"1","description":"This parameter is used to only get specific Vendors. This parameter expects a comma delimited list of Vendor IDs.","disabled":true},{"key":"locations","value":"330, 173","description":"This parameter is used to only get Vendors at a specific group of Locations. This parameter accepts a comma delimited list of Location IDs.","type":"text","disabled":true},{"key":"name","value":"bryan%","description":"This parameter is used to only get specific vendor by name. This parameter expects a string full name of a vendor or partial name with the wildcard %.","type":"text","disabled":true},{"key":"start","value":"1518559856","description":"This parameter is used to only get Vendors that were last edited after the unix timestamp passed into the start parameter. For example, all Vendors that were last edited after April 18th, 2018.","disabled":true},{"key":"end","value":"1518559856","description":"This parameter is used to only get Vendors that were last edited *before* the unix timestamp passed into the end parameter.","disabled":true},{"key":"cursor","value":"0","description":"This parameter is a cursor that selects what vendorID you want to start receiving results at. e.g. passing 137 here will only get you vendors with an id greater than 137.","disabled":true},{"key":"limit","value":"100","description":"This parameter is a result limiter. The default is set to return no more than 100 results at one time.","disabled":true},{"key":"page","value":null,"description":"This parameter is used to paginate results based on the limit. Refer to Pagination section for more information.","type":"text"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"1325","enabled":true},{"key":"ETag","value":"W/\"52d-GQiL1gmK5l9AMUA7N976PdXKmjA\"","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 17:19:02 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"meta\": {\n            \"fields\": \"/v2/vendors/fields/?vendors=1\"\n        },\n        \"vendorID\": 1,\n        \"name\": \"bryan's IT shop\",\n        \"email\": \"bob@limblecmms.com\",\n        \"phone\": \"801-123-1234\",\n        \"contact\": \"Bryan Christiansen\",\n        \"address\": \"123 Test Rd\",\n        \"locationID\": 330,\n        \"startedOn\": 1555085498,\n        \"lastEdited\": 1566925530,\n\t\t\"image\": [\n            {\n                \"fileName\": \"41372537_10157931415578298_3719969727385174016_n.jpg\",\n                \"link\": \"https://content.limblecmms.com/upload-36/vendors/330/1/41372537_10157931415578298_3719969727385174016_n.jpg?Expires=1572386698&Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9jb250ZW50LmxpbWJsZWNtbXMuY29tL3VwbG9hZC0zNi92ZW5kb3JzLzMzMC8xLzQxMzcyNTM3XzEwMTU3OTMxNDE1NTc4Mjk4XzM3MTk5Njk3MjczODUxNzQwMTZfbi5qcGciLCJDb25kaXRpb24iOnsiRGF0ZUxlc3NUaGFuIjp7IkFXUzpFcG9jaFRpbWUiOjE1NzIzODY2OTh9fX1dfQ__&Signature=Os2lzvCLIJOteYIgc-NgodzrLdjNAYdncy0e~kKtv0qwvZJJr1feiDdJGMt~CIgdCHpLwqlajpK2-GpZIv6SDkVJ5Cl2MoOld64Uy6M1K~wLe1U75aCLqyRRVi~PzpWUpJxF2cf0OwMdYXJfeYhGl74PsvJB1AjeNsxV8aM4hDzILKeJpQVwlsRoXydfyCKe1Ese43kHtEy~Mpb4xZNBeOUaC2d6yR8MigtGFSgwPA1A9mKy8WknmjD7YkLaIl9MaMV4tj2QTDDWilbfps0WSYCzxqqtORoGfLV65kGmYXvOAEmVW3XX~Bkc9xsma~p2V8N0ngqg~ngLF8WEp8ooPw__&Key-Pair-Id=APKAIH5A42E3EPKJRHFQ\"\n            }\n        ]\n    }\n]"},{"id":"2063458f-c6d3-46c3-99de-e5be909261bf","name":"Pagination using Page & Limit","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/vendors?locations=163&limit=2&page=1","protocol":"https","host":["localhost"],"port":"3000","path":["v2","vendors"],"query":[{"key":"vendors","value":"9","description":"This parameter is used to only get specific Vendors. This parameter expects a comma delimited list of Vendor IDs.","disabled":true},{"key":"locations","value":"163","description":"This parameter is used to only get Vendors at a specific group of Locations. This parameter accepts a comma delimited list of Location IDs."},{"key":"name","value":"%test%","description":"This parameter is used to only get specific vendor by name. This parameter expects a string full name of a vendor or partial name with the wildcard %.","disabled":true},{"key":"start","value":"1560233040","description":"This parameter is used to only get Vendors that were last edited after the unix timestamp passed into the start parameter. For example, all Vendors that were last edited after April 18th, 2018.","disabled":true},{"key":"end","value":"1613665140","description":"This parameter is used to only get Vendors that were last edited *before* the unix timestamp passed into the end parameter.","disabled":true},{"key":"cursor","value":"0","description":"This parameter is a cursor that selects what vendorID you want to start receiving results at. e.g. passing 137 here will only get you vendors with an id greater than 137.","disabled":true},{"key":"limit","value":"2","description":"This parameter is a result limiter. The default is set to return no more than 100 results at one time."},{"key":"page","value":"1","description":"This parameter is used to paginate results based on the limit. Refer to Pagination section for more information."}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Last-Page","value":"/v2/vendors?locations=163&limit=2&page=2","enabled":true},{"key":"Next-Page","value":"/v2/vendors?locations=163&limit=2&page=2","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"667","enabled":true},{"key":"ETag","value":"W/\"29b-XUEBZkWbeW71nVsS8W7Dysr2KSk\"","enabled":true},{"key":"Date","value":"Mon, 29 Nov 2021 23:28:49 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"meta\": {\n            \"fields\": \"/v2/vendors/fields/?vendors=9\"\n        },\n        \"vendorID\": 9,\n        \"name\": \"test\",\n        \"email\": \"babb.jeff5@gmail.com\",\n        \"phone\": \"\",\n        \"contact\": \"tester\",\n        \"address\": null,\n        \"locationID\": 163,\n        \"startedOn\": 1560233041,\n        \"lastEdited\": 1613665131,\n        \"image\": [\n            {\n                \"fileName\": \"4328-4k-wallpaper-clouds-cropland-842711.jpg\",\n                \"link\": \"https://local-content.limblestaging.com/upload-36/vendors/163/9/4328-4k-wallpaper-clouds-cropland-842711.jpg\"\n            }\n        ]\n    },\n    {\n        \"meta\": {\n            \"fields\": \"/v2/vendors/fields/?vendors=93\"\n        },\n        \"vendorID\": 93,\n        \"name\": \"Landon Test\",\n        \"email\": \"landon.cornell@limblecmms.com\",\n        \"phone\": \"801-555-5555\",\n        \"contact\": \"Lando\",\n        \"address\": null,\n        \"locationID\": 163,\n        \"startedOn\": 1597361856,\n        \"lastEdited\": 1632168479,\n        \"image\": []\n    }\n]"}],"_postman_id":"c6fb0d2e-83c5-42e4-970f-577885047526"},{"name":"New Vendor","event":[{"listen":"prerequest","script":{"id":"ef8285a3-05f3-43ec-837c-96a102fba192","exec":["const vendorName = `vendor_name_${Math.floor(Math.random() * 10000000)}`;","","pm.globals.set('newVendorName', vendorName);","pm.globals.set('newVendorEmail', `${vendorName}@domain.com`);",""],"type":"text/javascript"}},{"listen":"test","script":{"id":"871ace9c-f3b2-4b82-b37b-89e2cbe02bba","exec":["const vendorID = pm.response.json().vendorID;","","pm.test(\"response is created\", () => {","    pm.response.to.have.status(201);","});","","pm.test(\"location header is valid\", () => {","    const locationHeader = postman.getResponseHeader('Location')","    pm.expect(locationHeader).to.eql(`/v2/vendors/?vendors=${vendorID}`);","})","","pm.globals.set('vendorID', vendorID);",""],"type":"text/javascript"}}],"id":"c33fdb2a-3881-4247-9aff-4b815389071f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"locationID\": \"163\",\n\t\"name\": \"{{newVendorName}}\",\n\t\"email\": \"{{newVendorEmail}}\",\n\t\"phone\": \"15555555555\",\n\t\"contact\": \"Bill Frost\",\n    \"address\": \"123 Main St, Anytown, USA\"\n}"},"url":"https://localhost:3000/v2/vendors","description":"<p>This request creates a new Vendor.</p>\n<p><br /><br /></p><p><br /><br /><br /></p><table><tbody><tr><th>Parameter</th><th>Type</th><th>Required?</th><th>Description</th></tr><tr><td><div>name</div><div><div><div><div></div></div></div><div></div></div></td><td><div>String</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Required</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The name of the Vendor.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>locationID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>string</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Required</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The locationID of the Location the Vendor will be at.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>email</div><div><div><div><div></div></div></div><div></div></div></td><td><div>string</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The Vendor's email address.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>contact</div><div><div><div><div></div></div></div><div></div></div></td><td><div>string</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The Vendor's primary contact.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>phone</div><div><div><div><div></div></div></div><div></div></div></td><td><div>string</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The Vendor's phone number.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>address</div><div><div><div><div></div></div></div><div></div></div></td><td><div>string</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The Vendor's address.</div><div><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","vendors"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"03b7e09c-b28a-4abd-b595-db48a8cc7668","name":"New Vendor","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"locationID\": \"163\",\n\t\"name\": \"{{newVendorName}}\",\n\t\"email\": \"{{newVendorEmail}}\",\n\t\"phone\": \"15555555555\",\n\t\"contact\": \"Bill Frost\"\n}"},"url":"https://localhost:3000/v2/vendors"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Location","value":"/v2/vendors/?vendors=10","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"17","enabled":true},{"key":"ETag","value":"W/\"11-9Tr2mm6VcjI+0tLdROsYZ7WW9qw\"","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 17:20:19 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"vendorID\": \"10\"\n}"}],"_postman_id":"c33fdb2a-3881-4247-9aff-4b815389071f"},{"name":"Update Vendor","event":[{"listen":"prerequest","script":{"id":"ef8285a3-05f3-43ec-837c-96a102fba192","exec":["const vendorName = `vendor_name_${Math.floor(Math.random() * 10000000)}`;","","pm.globals.set('newVendorName', vendorName);","pm.globals.set('newVendorEmail', `${vendorName}@domain.com`);",""],"type":"text/javascript"}},{"listen":"test","script":{"id":"871ace9c-f3b2-4b82-b37b-89e2cbe02bba","exec":["pm.test(\"response should be okay to process\", function () { \r","    pm.response.to.not.be.error; \r","    pm.response.to.not.have.jsonBody(\"error\"); \r","});"],"type":"text/javascript"}}],"id":"27a2fcec-bb3a-4aad-ab57-62c73518ae34","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"locationID\": \"163\",\n\t\"name\": \"{{newVendorName}}\",\n\t\"email\": \"{{newVendorEmail}}\",\n\t\"phone\": \"15555555555\",\n\t\"contact\": \"Bill Frost\",\n    \"address\": \"123 North Ave\"\n}"},"url":"https://localhost:3000/v2/vendors/:vendorID","description":"<p>This Request updates a Vendor's name, phone, email, contact, address, etc.</p>\n<table><tbody><tr><th>Parameter</th><th>Type</th><th>Required?</th><th>Description</th></tr><tr><td><div>name</div><div><div><div><div></div></div></div><div></div></div></td><td><div>String</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The name of the Vendor.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>locationID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>string</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Required</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The locationID of the Location the Vendor will be at.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>email</div><div><div><div><div></div></div></div><div></div></div></td><td><div>string</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The Vendor's email address.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>contact</div><div><div><div><div></div></div></div><div></div></div></td><td><div>string</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The Vendor's primary contact.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>address</div><div><div><div><div></div></div></div><div></div></div></td><td><div>string</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The Vendor's address.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>phone</div><div><div><div><div></div></div></div><div></div></div></td><td><div>string</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The Vendor's phone number.</div><div><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","vendors",":vendorID"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"{{vendorID}}","key":"vendorID"}]}},"response":[{"id":"d17ba17b-5c05-41fd-8eeb-254556c183bc","name":"Update Vendor","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"locationID\": \"163\",\n\t\"name\": \"{{newVendorName}}\",\n\t\"email\": \"{{newVendorEmail}}\",\n\t\"phone\": \"15555555555\",\n\t\"contact\": \"Bill Frost\",\n    \"address\": \"123 North Ave\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.limblecmms.com:443/v2/vendors/:vendorID","protocol":"https","host":["api","limblecmms","com"],"port":"443","path":["v2","vendors",":vendorID"],"variable":[{"key":"vendorID","value":"{{vendorID}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 21:56:00 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"27a2fcec-bb3a-4aad-ab57-62c73518ae34"},{"name":"Delete Vendor","event":[{"listen":"prerequest","script":{"id":"ef8285a3-05f3-43ec-837c-96a102fba192","exec":[""],"type":"text/javascript"}},{"listen":"test","script":{"id":"871ace9c-f3b2-4b82-b37b-89e2cbe02bba","exec":["pm.test(\"response should be okay to process\", function () { \r","    pm.response.to.not.be.error; \r","    pm.response.to.not.have.jsonBody(\"error\"); \r","});"],"type":"text/javascript"}}],"id":"c844ada1-d19b-4c85-93ca-8ed3cbbd9326","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":""},"url":"https://localhost:3000/v2/vendors/:vendorID","description":"<p>This request deletes a Vendor.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","vendors",":vendorID"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"{{vendorID}}","key":"vendorID"}]}},"response":[{"id":"addfa337-5f4b-47ce-a7c8-c032d3d5ee54","name":"Delete Vendor","originalRequest":{"method":"DELETE","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":""},"url":{"raw":"https://localhost:3000/v2/vendors/:vendorID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","vendors",":vendorID"],"query":[{"key":"locationID","value":"164","disabled":true},{"key":"vendorName","value":"test","disabled":true}],"variable":[{"key":"vendorID","value":"{{vendorID}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 17:23:37 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"c844ada1-d19b-4c85-93ca-8ed3cbbd9326"}],"id":"05c304ba-0a15-49af-b263-9ae8e0e87c06","_postman_id":"05c304ba-0a15-49af-b263-9ae8e0e87c06","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Roles","item":[{"name":"Get Roles","event":[{"listen":"test","script":{"id":"ffcb0717-62b3-4738-887c-4de91e80775e","exec":["pm.test(\"response is ok\", function () {\r","    pm.response.to.have.status(200);\r","});"],"type":"text/javascript"}}],"id":"b7f0768d-a790-4460-a0dc-15820bf24af3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/roles/?roles=1032&name=%view%&cursor=0&limit=100","description":"<p>This request returns a list of Roles.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","roles",""],"host":["localhost"],"query":[{"key":"roles","value":"1032"},{"key":"name","value":"%view%"},{"key":"cursor","value":"0"},{"key":"limit","value":"100"}],"variable":[]}},"response":[{"id":"e2600f35-2e9a-4f21-8132-472789e960ef","name":"Get Roles","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/roles/","protocol":"https","host":["localhost"],"port":"3000","path":["v2","roles",""],"query":[{"key":"roles","value":"1032","disabled":true},{"key":"name","value":"%view%","disabled":true},{"key":"cursor","type":"text","value":"0","disabled":true},{"key":"limit","type":"text","value":"100","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"122","enabled":true},{"key":"ETag","value":"W/\"7a-+4u7wr4+PG1D3neyUxIACbrENn8\"","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 16:37:27 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"roleID\": 321,\n        \"name\": \"Manager\"\n    }\n]"}],"_postman_id":"b7f0768d-a790-4460-a0dc-15820bf24af3"},{"name":"Create Role","event":[{"listen":"prerequest","script":{"id":"41788add-82f2-4f83-b18a-6057521651f5","exec":["const roleName = `role_name_${Math.floor(Math.random() * 10000000)}`;","","pm.globals.set('roleName', roleName);"],"type":"text/javascript"}},{"listen":"test","script":{"id":"44eea8bc-2306-40e7-bb5a-3d07acaf4d7b","exec":["const roleID = pm.response.json().roleID;","","pm.test(\"response is created\", () => {","    pm.response.to.have.status(201);","});","","pm.test(\"location header is valid\", () => {","    const locationHeader = postman.getResponseHeader('Location')","    pm.expect(locationHeader).to.eql(`/v2/roles/?roles=${roleID}`);","});","","pm.globals.set('roleID', roleID);"],"type":"text/javascript"}}],"id":"fc1cd3ff-85dc-45e0-9363-3ae2c25db25c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"name\": \"test role\"\n}"},"url":"https://localhost:3000/v2/roles/","description":"<p>This request creates a new Role.  Roles are used for access management in Limble. Once a Role is created you can assign permissions to that Role via the web application and then assign Users to that Role to control what that User can do in Limble.</p>\n<table>\n    <thead>\n        <tr>\n            <th>Parameter</th>\n            <th>Type</th>\n            <th>Required?</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>name</td>\n            <td>String</td>\n            <td>Required</td>\n            <td>The name of the role.</td>\n        </tr>\n    </tbody>\n</table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","roles",""],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"a8f22555-a2dc-4737-8a71-f64ffe1cb4ad","name":"Create Role","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"name\": \"test role\"\n}"},"url":"https://localhost:3000/v2/roles/"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Location","value":"/v2/roles/?roles=1436","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"15","enabled":true},{"key":"ETag","value":"W/\"f-+MnJ2YEY6WV5Y3JJlsykGqvWUgA\"","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 16:38:06 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"roleID\": 1436\n}"}],"_postman_id":"fc1cd3ff-85dc-45e0-9363-3ae2c25db25c"},{"name":"Update Role","event":[{"listen":"prerequest","script":{"id":"cfa0e97b-faf2-4549-9513-9ecf5a969a37","exec":["const updatedRoleName = `updated_role_name_${Math.floor(Math.random() * 10000000)}`;","","pm.globals.set('updatedRoleName', updatedRoleName);",""],"type":"text/javascript"}},{"listen":"test","script":{"id":"163073d5-662a-4e4c-8d3c-8381a7d9cfc1","exec":["pm.test(\"response is ok\", function () {\r","    pm.response.to.have.status(200);\r","});"],"type":"text/javascript"}}],"id":"b0c89a93-0045-46df-aa94-2aeb74f609dd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"name\": \"Manager\"\n}"},"url":"https://localhost:3000/v2/roles/:roleID","description":"<p>This request updates a Role's name.</p>\n<table>\n    <thead>\n        <tr>\n            <th>Parameter</th>\n            <th>Type</th>\n            <th>Required?</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>name</td>\n            <td>String</td>\n            <td>Required</td>\n            <td>The name of the role.</td>\n        </tr>\n    </tbody>\n</table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","roles",":roleID"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>The roleID of the role you are updating.</p>\n","type":"text/plain"},"type":"any","value":"{{roleID}}","key":"roleID"}]}},"response":[{"id":"cb09e144-9b91-4dd8-adda-d96a67887ad1","name":"Update Role","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"name\": \"Manager\"\n}"},"url":{"raw":"https://localhost:3000/v2/roles/:roleID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","roles",":roleID"],"variable":[{"key":"roleID","value":"{{roleID}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 16:38:34 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"b0c89a93-0045-46df-aa94-2aeb74f609dd"},{"name":"Delete Role","event":[{"listen":"test","script":{"id":"6395d2ef-61f2-4a6f-aa87-1861d3152f36","exec":["pm.test(\"response is ok\", function () {\r","    pm.response.to.have.status(200);\r","});"],"type":"text/javascript"}}],"id":"feec24b6-7112-4246-b71c-a78174c70947","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://localhost:3000/v2/roles/:roleID","description":"<p>This Request deletes a Role.  This will also remove the Role from any User it is assigned to.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","roles",":roleID"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>The roleID of the role you are deleting</p>\n","type":"text/plain"},"type":"any","value":"{{roleID}}","key":"roleID"}]}},"response":[{"id":"4114f255-7571-4c40-9e36-0543b90d5e49","name":"Delete Role","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://localhost:3000/v2/roles/:roleID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","roles",":roleID"],"variable":[{"key":"roleID","value":"{{roleID}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 16:39:18 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"feec24b6-7112-4246-b71c-a78174c70947"}],"id":"ea6300bf-f9e8-453a-983c-37354b3f57c2","_postman_id":"ea6300bf-f9e8-453a-983c-37354b3f57c2","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Teams","item":[{"name":"Get Teams","event":[{"listen":"test","script":{"id":"d22ebd26-df05-42e3-8995-5e44c9fd054b","exec":["pm.test(\"response is ok\", function () {\r","    pm.response.to.have.status(200);\r","});"],"type":"text/javascript"}}],"id":"98f8e8ee-f5f4-41a8-9483-91213fbdc8bf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/teams/","description":"<p>This request returns a list of Teams.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","teams",""],"host":["localhost"],"query":[{"disabled":true,"description":{"content":"<p>This parameter expects a comma-separated list of teamIDs to filter teams by.</p>\n","type":"text/plain"},"key":"teams","value":"1778, 1771"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get specific teams by name. This parameter expects a string full name of a team or partial name with the wildcard %.</p>\n","type":"text/plain"},"key":"name","value":"%Lawn%"},{"disabled":true,"description":{"content":"<p>This parameter is a result limiter. The default is set to return no more than 100 results at one time.</p>\n","type":"text/plain"},"key":"limit","value":"100"},{"disabled":true,"description":{"content":"<p>This parameter is a cursor that selects what teamID you want to start receiving results at. e.g. passing 137 here will only get you tasks with an id greater than 137.</p>\n","type":"text/plain"},"key":"cursor","value":"0"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get specific teams by if they were automatically created by Limble or not. This parameter expects a bool true or false. Teams can get dynamically created if multiple users are assigned to the same task, for example.</p>\n","type":"text/plain"},"key":"automaticallyCreated","value":"false"},{"disabled":true,"description":{"content":"<p>This parameter is used to determine whether role-based teams (Manager, Technician, etc) are included in the response.</p>\n","type":"text/plain"},"key":"includeRoles","value":"false"}],"variable":[]}},"response":[{"id":"153c9316-ef01-4705-b590-066e6c3f40bd","name":"Get Teams","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/teams/?teams=1778, 1771&name=%Lawn%&limit=100&cursor=0&automaticallyCreated=false","protocol":"https","host":["localhost"],"port":"3000","path":["v2","teams",""],"query":[{"key":"teams","value":"1778, 1771","description":"This parameter expects a comma-separated list of teamIDs to filter teams by."},{"key":"name","value":"%Lawn%","description":"This parameter is used to only get specific teams by name. This parameter expects a string full name of a team or partial name with the wildcard %."},{"key":"limit","value":"100","description":"This parameter is a result limiter. The default is set to return no more than 100 results at one time."},{"key":"cursor","value":"0","description":"This parameter is a cursor that selects what teamID you want to start receiving results at. e.g. passing 137 here will only get you tasks with an id greater than 137."},{"key":"automaticallyCreated","value":"false","description":"This parameter is used to only get specific teams by if they were automatically created by Limble or not. This parameter expects a bool true or false."}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"9066","enabled":true},{"key":"ETag","value":"W/\"236a-3jAhb2uRV743bGZBSJfCoITDGoc\"","enabled":true},{"key":"Date","value":"Thu, 31 Mar 2022 21:46:38 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"teamID\": 438,\n        \"name\": \"Senior Maintenance\",\n        \"locationID\": 73,\n        \"automaticallyCreated\": 0\n    },\n    {\n        \"teamID\": 1146,\n        \"name\": \"Junior Maintenance\",\n        \"locationID\": 361,\n        \"automaticallyCreated\": 0\n    }\n]"}],"_postman_id":"98f8e8ee-f5f4-41a8-9483-91213fbdc8bf"},{"name":"Create Team","event":[{"listen":"test","script":{"id":"0517b0ac-5bd6-4b83-80fc-48bee7b83f38","exec":["const teamID = pm.response.json().teamID;","","pm.test(\"response is created\", () => {","    pm.response.to.have.status(201);","});","","pm.test(\"location header is valid\", () => {","    const locationHeader = postman.getResponseHeader('Location')","    pm.expect(locationHeader).to.eql(`/v2/teams/?teams=${teamID}`);","});","","pm.globals.set('teamID', teamID);",""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"5faa927c-077c-4608-9604-1709731e1b11","exec":["const teamName = `team_name_${Math.floor(Math.random() * 10000000)}`;","","pm.globals.set('teamName', teamName);","",""],"type":"text/javascript"}}],"id":"ca682fd8-e375-4b85-9bc6-d52d86c25829","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"name\": \"{{teamName}}\",\n\t\"locationID\": 163\n}"},"url":"https://localhost:3000/v2/teams/","description":"<p>This request creates a new Team.</p>\n<table>\n    <thead>\n        <tr>\n            <th>Parameter</th>\n            <th>Type</th>\n            <th>Required?</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>name</td>\n            <td>String</td>\n            <td>Required</td>\n            <td>The name of the Team.</td>\n        </tr>\n        <tr>\n            <td>locationID</td>\n            <td>string</td>\n            <td>Required</td>\n            <td>The locationID of the Location the Team will be available at.</td>\n        </tr>\n    </tbody>\n</table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","teams",""],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"8672e9e8-d62e-4ea8-883d-d594a2baa74b","name":"Create Team","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"name\": \"{{teamName}}\",\n\t\"locationID\": 163\n}"},"url":"https://localhost:3000/v2/teams/"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Location","value":"/v2/teams/?teams=2038","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"17","enabled":true},{"key":"ETag","value":"W/\"11-Q+QiL+7Rv4EY0RYyoQ2dp8c1gd8\"","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 16:34:24 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"teamID\": \"2038\"\n}"}],"_postman_id":"ca682fd8-e375-4b85-9bc6-d52d86c25829"},{"name":"Update Team","event":[{"listen":"test","script":{"id":"01400edb-231b-49bb-b1a8-65c79610f5b7","exec":["pm.test(\"response is ok\", function () {\r","    pm.response.to.have.status(200);\r","});"],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"4026d62f-cf56-4bb1-a5c6-8615745a31d1","exec":["const updatedTeamName = `updated_team_name_${Math.floor(Math.random() * 10000000)}`;","","pm.globals.set('updatedTeamName', updatedTeamName);",""],"type":"text/javascript"}}],"id":"1a514772-f9dd-45e4-9411-0aa4627d4901","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"name\": \"{{updatedTeamName}}\",\n\t\"locationID\": {{locationID}}\n}"},"url":"https://localhost:3000/v2/teams/:teamID","description":"<p>Update a team name.</p>\n<table>\n    <thead>\n        <tr>\n            <th>Parameter</th>\n            <th>Type</th>\n            <th>Required?</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>name</td>\n            <td>String</td>\n            <td>Required</td>\n            <td>The name of the team.</td>\n        </tr>\n    </tbody>\n</table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","teams",":teamID"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>The teamID of the team you are updating.</p>\n","type":"text/plain"},"type":"any","value":"{{teamID}}","key":"teamID"}]}},"response":[{"id":"13fe05f0-aed3-4ef7-974c-1dee7f031a9d","name":"Update Team","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"name\": \"{{updatedTeamName}}\"\n}"},"url":{"raw":"https://localhost:3000/v2/teams/:teamID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","teams",":teamID"],"variable":[{"key":"teamID","value":"{{teamID}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 16:35:14 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"1a514772-f9dd-45e4-9411-0aa4627d4901"},{"name":"Delete Team","event":[{"listen":"test","script":{"id":"32c1f470-5df3-44f0-a1df-d50ad1f29513","exec":["pm.test(\"response is ok\", function () {\r","    pm.response.to.have.status(200);\r","});"],"type":"text/javascript"}}],"id":"5637bcd4-45fe-409b-9fd8-17fe98c6194e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://localhost:3000/v2/teams/:teamID","description":"<p>This request deletes a Team. This will also remove the Team from any User it is assigned to.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","teams",":teamID"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>The teamID of the team you are deleting.</p>\n","type":"text/plain"},"type":"any","value":"{{teamID}}","key":"teamID"}]}},"response":[{"id":"19abdaa9-0c28-456d-ad2b-60f7d8d5f4df","name":"Delete Team","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://localhost:3000/v2/teams/:teamID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","teams",":teamID"],"variable":[{"key":"teamID","value":"{{teamID}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Tue, 27 Aug 2019 16:35:56 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"5637bcd4-45fe-409b-9fd8-17fe98c6194e"}],"id":"ab3c7ed7-f6b2-4e3e-a87a-2e54b0e11280","_postman_id":"ab3c7ed7-f6b2-4e3e-a87a-2e54b0e11280","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Purchase Orders","item":[{"name":"Items","item":[{"name":"Get Purchase Order Items","event":[{"listen":"test","script":{"id":"9a37686c-944c-4034-832a-959749f435d0","exec":["pm.test(\"response must be valid and have a body\", function () {\r","     // assert that the status code is 200\r","     pm.response.to.be.ok; // info, success, redirection, clientError,  serverError, are other variants\r","     // assert that the response has a valid JSON body\r","     pm.response.to.be.withBody;\r","     pm.response.to.be.json; // this assertion also checks if a body  exists, so the above check is not needed\r","});"],"type":"text/javascript"}}],"id":"752be6b6-eca8-49b6-bcf5-90a2306056fb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/po/items?pos=1,2,3&items=45,8998,3434&numbers=1,2&cursor=112&limit=100&lastEditedStart=1518559856&lastEditedEnd=1518559856","description":"<p>This request gets information associated with PO items. Every line item on a PO is an item returned by this call.</p>\n<p><b>Return data description</b></p>\n\n<table><tbody><tr><th>Property</th><th>Description</th></tr><tr><td><div>poID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The unique ID of the purchase order associated to this item.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>poItemID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The unqiue ID of this Purchase Order Item</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>itemType</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Which type (Part, Service, or Other) this item is.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>name</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The name of the item.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>description</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A more detailed description of the item.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>glID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The unique ID of the GL associated to this item.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>partID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The unique ID of the part associated to this item.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>taskID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The unique ID of the task associated to this item.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>poNumber</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The user-set Purchase Order number.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>qty</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The quantity purchased.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>rate</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The billing rate for the item on the Purchase Order.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>tax</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The tax percent rate for the item on the Purchase Order.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>discount</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The discount percent rate for the item on the Purchase Order.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>shipping</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The shipping rate for the item on the Purchase Order.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>qtyReceived</div><div><div><div><div></div></div></div><div></div></div></td><td><div>A number representing the total quantity that has been marked as \"received\" for this item.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>lastEdited</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Last time this PO item was edited, this field outputs a UNIX timestamp.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>orderUnitAbbreviation</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The abbreviation for the unit of measure in which the PO item was ordered. (NULL for items not assigned to a unit of measure)</div><div><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","po","items"],"host":["localhost"],"query":[{"description":{"content":"<p>This parameter is used to only get specific POs. This parameter expects a comma delimited list of PO IDs.</p>\n","type":"text/plain"},"key":"pos","value":"1,2,3"},{"description":{"content":"<p>This parameter is used to only get specific PO Items by ID. This parameter expects a comma delimited list of poItem IDs.</p>\n","type":"text/plain"},"key":"items","value":"45,8998,3434"},{"description":{"content":"<p>This parameter is used to only get specific POs by Number. This parameter expects a comma delimited list of PO Numbers.</p>\n","type":"text/plain"},"key":"numbers","value":"1,2"},{"description":{"content":"<p>This parameter is a cursor that selects what vendorID you want to start receiving results at. e.g. passing 137 here will only get you vendors with an id greater than 137.</p>\n","type":"text/plain"},"key":"cursor","value":"112"},{"description":{"content":"<p>This parameter is a result limiter. The default is set to return no more than 100 results at one time.</p>\n","type":"text/plain"},"key":"limit","value":"100"},{"description":{"content":"<p>This parameter is used to only get PO items that were last edited after the unix timestamp passed into the start parameter. For example, all PO items that were last edited after April 18th, 2018.</p>\n","type":"text/plain"},"key":"lastEditedStart","value":"1518559856"},{"description":{"content":"<p>This parameter is used to only get POs items that were last edited <em>before</em> the unix timestamp passed in.</p>\n","type":"text/plain"},"key":"lastEditedEnd","value":"1518559856"}],"variable":[]}},"response":[{"id":"1450b832-322a-4d47-9f33-e55871971b5e","name":"Get Purchase Order Items","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://localhost:2000/v2/po/items","protocol":"http","host":["localhost"],"port":"2000","path":["v2","po","items"],"query":[{"key":"pos","value":"1,2,3","description":"This parameter is used to only get specific POs. This parameter expects a comma delimited list of PO IDs.","disabled":true},{"key":"items","value":"45,8998,3434","description":"This parameter is used to only get specific PO Items by ID. This parameter expects a comma delimited list of poItem IDs.","disabled":true},{"key":"numbers","value":"1,2","description":"This parameter is used to only get specific POs by Number. This parameter expects a comma delimited list of PO Numbers.","disabled":true},{"key":"cursor","value":"112","description":"This parameter is a cursor that selects what vendorID you want to start receiving results at. e.g. passing 137 here will only get you vendors with an id greater than 137.","disabled":true},{"key":"limit","value":"100","description":"This parameter is a result limiter. The default is set to return no more than 100 results at one time.","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"2854","enabled":true},{"key":"ETag","value":"W/\"b26-aKy9uCazilM/eMQxVbsaBY6IFQk\"","enabled":true},{"key":"Date","value":"Mon, 01 Feb 2021 18:13:03 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"poID\": 43,\n        \"poItemID\": 39,\n        \"itemType\": 1,\n        \"name\": null,\n        \"description\": null,\n        \"glID\": 0,\n        \"partID\": 3118,\n        \"taskID\": 0,\n        \"poNumber\": 29,\n        \"qty\": 1,\n        \"rate\": 15500,\n        \"tax\": 39000,\n        \"discount\": 11682,\n        \"shipping\": 9000,\n        \"qtyReceived\": 0,\n        \"orderUnitAbbreviation\": null,\n        \"lastEdited\": 1613497787,\n        \"meta\": {\n            \"po\": \"/v2/po?pos=43\"\n        }\n    },\n    {\n        \"poID\": 44,\n        \"poItemID\": 40,\n        \"itemType\": 1,\n        \"name\": null,\n        \"description\": null,\n        \"glID\": 0,\n        \"assetID\": 9014,\n        \"partID\": 3119,\n        \"taskID\": 0,\n        \"poNumber\": 30,\n        \"qty\": 10,\n        \"rate\": 72000,\n        \"tax\": 65500,\n        \"discount\": 52371,\n        \"shipping\": 38500,\n        \"qtyReceived\": 0,\n        \"orderUnitAbbreviation\": null,\n        \"lastEdited\": 1613497787,\n        \"meta\": {\n            \"po\": \"/v2/po?pos=44\"\n        }\n    }\n]"}],"_postman_id":"752be6b6-eca8-49b6-bcf5-90a2306056fb"},{"name":"New Purchase Order Item","id":"29ffa63f-fa27-44bc-a5b3-d20742601805","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"itemType\": 1,\n    \"glID\": 2,\n    \"assetID\": 3,\n    \"partID\": 4,\n    \"quantity\": 1,\n    \"rate\": 12.99,\n    \"tax\": 10,\n    \"discount\": 3,\n    \"shipping\": 1.2345\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/po/:poID/items","description":"<p>This request creates a new Purchase Order Item.</p>\n<p><br /><br /></p><p><br /><br /><br /></p><table><tbody><tr><th>Parameter</th><th>Type</th><th>Required?</th><th>Description</th></tr><tr><td>itemType</td><td>Int</td><td>Required</td><td>A number describing what type of PO Item this is. Valid values are: 1 (Part), 2 (Service), 4 (Other). If itemType is 1, name and taskID cannot be present and partID is required. If itemType is 2 or 4, name is required and partID cannot be present. If itemType is 2, a checklistID is required.</td></tr><tr><td>name</td><td>String</td><td>Optional</td><td>A short line-item title for this PO Item.</td></tr><tr><td>description</td><td>String</td><td>Optional</td><td>A more detailed description for this PO Item.</td></tr><tr><td>glID</td><td>Int</td><td>Optional</td><td>The ID of the General Ledger that this PO Item will belong to.</td></tr><tr><td>taskID</td><td>Int</td><td>Optional</td><td>The ID of the Task that this PO Item will belong to.</td></tr><tr><td>assetID</td><td>Int</td><td>Optional</td><td>The ID of the Asset that this PO Item will belong to.</td></tr><tr><td>partID</td><td>Int</td><td>Optional</td><td>The ID of the Part that this PO Item will belong to.</td></tr><tr><td>quantity</td><td>Int</td><td>Optional</td><td>A number for how many items are represented in this line. If not provided, the minimum and default values are 1.</td></tr><tr><td>rate</td><td>Float</td><td>Optional</td><td>A decimal (precision 4) representing the cost of one of the item(s). Default is 0.0000</td></tr><tr><td>tax</td><td>Float</td><td>Optional</td><td>A decimal (precision 4) representing the amount of tax on the item(s) as a percent. Default is 0.0000</td></tr><tr><td>discount</td><td>Float</td><td>Optional</td><td>A decimal (precision 4) representing the discounted cost on the item(s) as a percent. Default is 0.0000</td></tr><tr><td>shipping</td><td>Float</td><td>Optional</td><td>A decimal (precision 4) representing the cost of shipping for the item(s). Default is 0.0000</td></tr></tbody></table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","po",":poID","items"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"1","key":"poID"}]}},"response":[{"id":"88c981aa-b72f-45e9-9b70-809290cb034e","name":"New Purchase Order Item","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"itemType\": 1,\n    \"glID\": 3,\n    \"assetID\": 8895,\n    \"partID\": 159,\n    \"quantity\": 1,\n    \"rate\": 12.99,\n    \"tax\": 10,\n    \"discount\": 0,\n    \"shipping\": 5.99\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://localhost:3000/v2/po/:poID/items","protocol":"https","host":["localhost"],"port":"3000","path":["v2","po",":poID","items"],"variable":[{"key":"poID","value":"1"}]}},"status":"OK","code":201,"_postman_previewlanguage":"json","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"13","enabled":true},{"key":"ETag","value":"W/\"d-iB/6bsJGKzAjbPiY7GANSNvwc0Q\"","enabled":true},{"key":"Date","value":"Thu, 07 Jan 2021 20:09:19 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"itemID\": 1\n}"}],"_postman_id":"29ffa63f-fa27-44bc-a5b3-d20742601805"},{"name":"Update Purchase Order Item","event":[{"listen":"test","script":{"id":"1b2fa7d5-8b37-48c8-b4aa-12fcd03e2d6d","exec":[""],"type":"text/javascript"}}],"id":"2c4feb34-1f08-41ef-bfa2-7bd080b0359d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n    \"itemType\": 1,\n    \"glID\": 0,\n    \"assetID\": 0,\n    \"partID\": 4,\n    \"quantity\": 5,\n    \"rate\": 3.50,\n    \"tax\": 7.25,\n    \"discount\": 0,\n    \"shipping\": 24.99\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/po/:poID/items/:poItemID","description":"<p>This request updates a Purchase Order Item. Considering the validation for this route is non-trivial -- keep in mind that before this update takes place, we validate the <i>resulting</i> PO Item, so the itemType must be valid with any existing or updated properties. For example, if you have a PO Item of itemType 1 (Part) and attempt to send a PATCH that only provides a checklistID, you will get an error back saying that this is an invalid combination.</p>\n\n<p>To remove an associated ID, pass in the value 0.</p>\n\n<p><br /><br /></p><p><br /><br /><br /></p><table><tbody><tr><th>Parameter</th><th>Type</th><th>Required?</th><th>Description</th></tr><tr><td>itemType</td><td>Int</td><td>Optional</td><td>A number describing what type of PO Item this is. Valid values are: 1 (Part), 2 (Service), 4 (Other). If itemType is 1, name and taskID cannot be present and partID is required. If itemType is 2 or 4, name is required and partID cannot be present. If itemType is 2, a checklistID is required.</td></tr><tr><td>name</td><td>String</td><td>Optional</td><td>A short line-item title for this PO Item.</td></tr><tr><td>description</td><td>String</td><td>Optional</td><td>A more detailed description for this PO Item.</td></tr><tr><td>glID</td><td>Int</td><td>Optional</td><td>The ID of the General Ledger that this PO Item will belong to.</td></tr><tr><td>taskID</td><td>Int</td><td>Optional</td><td>The ID of the Task that this PO Item will belong to.</td></tr><tr><td>assetID</td><td>Int</td><td>Optional</td><td>The ID of the Asset that this PO Item will belong to.</td></tr><tr><td>partID</td><td>Int</td><td>Optional</td><td>The ID of the Part that this PO Item will belong to.</td></tr><tr><td>quantity</td><td>Int</td><td>Optional</td><td>A number for how many items are represented in this line. If not provided, the minimum and default values are 1.</td></tr><tr><td>rate</td><td>Float</td><td>Optional</td><td>A decimal (precision 4) representing the cost of one of the item(s). Default is 0.0000</td></tr><tr><td>tax</td><td>Float</td><td>Optional</td><td>A decimal (precision 4) representing the amount of tax on the item(s) as a percent. Default is 0.0000</td></tr><tr><td>discount</td><td>Float</td><td>Optional</td><td>A decimal (precision 4) representing the discounted cost on the item(s) as a percent. Default is 0.0000</td></tr><tr><td>shipping</td><td>Float</td><td>Optional</td><td>A decimal (precision 4) representing the cost of shipping for the item(s). Default is 0.0000</td></tr></tbody></table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","po",":poID","items",":poItemID"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"1","key":"poID"},{"type":"any","value":"2","key":"poItemID"}]}},"response":[{"id":"5b488bd9-2245-4154-8349-7a64b2169c46","name":"Update Purchase Order Item","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n    \"itemType\": 4,\n    \"partID\": 0,\n    \"taskID\": 0\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://localhost:3000/v2/po/:poID/items/:poItemID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","po",":poID","items",":poItemID"],"variable":[{"key":"poID","value":"1"},{"key":"poItemID","value":"2"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"16","enabled":true},{"key":"ETag","value":"W/\"10-oV4hJxRVSENxc/wX8+mA4/Pe4tA\"","enabled":true},{"key":"Date","value":"Tue, 12 Jan 2021 19:12:36 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true\n}"}],"_postman_id":"2c4feb34-1f08-41ef-bfa2-7bd080b0359d"},{"name":"Delete PO Item","event":[{"listen":"test","script":{"id":"e6a3770a-d48d-48dd-9467-f627a54ff68a","exec":[""],"type":"text/javascript"}}],"id":"35e3392d-27d3-4ed0-b0ea-5cd95cf032db","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://localhost:3000/v2/po/:poID/items/:poItemID","description":"<p>This request deletes a PO Item, which will also remove any relationships between the PO Item, Parts, and Tasks, and will clean up any history of transactions on this PO Item.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","po",":poID","items",":poItemID"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"1","key":"poID"},{"type":"any","value":"1","key":"poItemID"}]}},"response":[{"id":"f7517959-f6ff-4530-bc9d-dbb914a2cc2f","name":"Delete PO Item","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://localhost:3000/v2/po/:poID/items/:poItemID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","po",":poID","items",":poItemID"],"variable":[{"key":"poID","value":"1"},{"key":"poItemID","value":"1"}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Tue, 02 Feb 2021 18:28:40 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"35e3392d-27d3-4ed0-b0ea-5cd95cf032db"},{"name":"Receive PO Item","id":"fb64f585-0163-417a-896e-7e8d7f19d1b8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n    \"quantity\": 100\n}\n","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/po/:poID/items/:poItemID","description":"<p>This request marks a quantity of a PO item as having been received and generates a bill for the receipt of the item.</p>\n<table>\n    <thead>\n        <tr>\n            <th>Parameter</th>\n            <th>Type</th>\n            <th>Required?</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>quantity</td>\n            <td>Int</td>\n            <td>Required</td>\n            <td>A positive number representing the received number of items. The sum of all receipts cannot be greater than the total quantity on the PO item.<br /><br />For example: if a PO item has a quantity of 5, then we use this request to receive 3, that will mark 3 of the PO item as received and generate a bill for that receipt of 3 PO items. If we run the same request again to receive another 3, the total would be 6 and the request would be rejected with an error.</td>\n        </tr>\n    </tbody>\n</table>\n\n<p><strong>Return data description</strong></p>\n<table>\n    <thead>\n        <tr>\n            <th>Property</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>transactionID</td>\n            <td>The unique ID of the transaction created by this request.</td>\n        </tr>\n        <tr>\n            <td>prID</td>\n            <td>The unique ID of the PR (Bill) created by this request.</td>\n        </tr>\n    </tbody>\n</table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","po",":poID","items",":poItemID"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"1","key":"poID"},{"type":"any","value":"1","key":"poItemID"}]}},"response":[{"id":"96831c04-6b4c-4de0-b364-27da28356966","name":"Receive PO Item","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n    \"quantity\": 100\n}\n","options":{"raw":{"language":"json"}}},"url":{"raw":"https://localhost:3000/v2/po/:poID/items/:poItemID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","po",":poID","items",":poItemID"],"variable":[{"key":"poID","value":"1"},{"key":"poItemID","value":"1"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"152","enabled":true},{"key":"ETag","value":"W/\"98-FCgCOLfFuWzL9WyxpmQh5oeyPmU\"","enabled":true},{"key":"Date","value":"Thu, 28 Jan 2021 19:46:45 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"transactionID\": 1,\n    \"prID\": 1\n}\n"}],"_postman_id":"fb64f585-0163-417a-896e-7e8d7f19d1b8"}],"id":"75b48252-4d3e-42cd-aed6-75eed582d74e","_postman_id":"75b48252-4d3e-42cd-aed6-75eed582d74e","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Comments","item":[{"name":"PO Comments","id":"4fdf2195-262b-46d7-a952-7f68046869c8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/po/:poID/comments?cursor=0&limit=100","description":"<p>This request gets all PO Comments associated with a PO.</p>\n<p><b>Return data description</b></p>\n\n<p><br /><br /></p><p><br /><br /><br /></p><table><tbody><tr><th>Property</th><th>Description</th></tr><tr><td><div>commentID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>This is the commentID of comment.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>comment</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The text comment that was entered by the user.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>timestamp</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The date this comment was created. This is a unix timestamp.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>userID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The ID of the user that made the comment.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>commentEmailAddress</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The email address of the external user that made this comment. This is only populated if the comment was made by an external user via the comment reply system.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>commentFiles</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Array containing fileName and link properties.</div><div><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","po",":poID","comments"],"host":["localhost"],"query":[{"description":{"content":"<p>This parameter is a cursor that selects what commentID you want to start receiving results at. e.g. passing 137 here will only get you comments with an id greater than 137.</p>\n","type":"text/plain"},"key":"cursor","value":"0"},{"description":{"content":"<p>This parameter is a result limiter. The default is set to return no more than 100 results at one time.</p>\n","type":"text/plain"},"key":"limit","value":"100"}],"variable":[{"description":{"content":"<p>poID of the Purchase Order you are getting comments for.</p>\n","type":"text/plain"},"type":"any","value":"453","key":"poID"}]}},"response":[{"id":"421c37c5-d1c5-468d-9ebe-c335d43533a3","name":"PO Comments","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/po/:poID/comments?cursor=0&limit=100","protocol":"https","host":["localhost"],"port":"3000","path":["v2","po",":poID","comments"],"query":[{"key":"cursor","value":"0","description":"This parameter is a cursor that selects what commentID you want to start receiving results at. e.g. passing 137 here will only get you comments with an id greater than 137."},{"key":"limit","value":"100","description":"This parameter is a result limiter. The default is set to return no more than 100 results at one time."}],"variable":[{"key":"poID","value":"1","description":"poID of the Purchase Order you are getting comments for."}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"363","enabled":true},{"key":"ETag","value":"W/\"16b-d7hld6lnO+IabuiM6K+1mfVvxKw\"","enabled":true},{"key":"Date","value":"Tue, 13 Jul 2021 22:13:26 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"commentID\": 2,\n        \"comment\": \"PO Started - Automatically generated\",\n        \"timestamp\": 1565902642,\n        \"userID\": 341,\n        \"commentFiles\": [],\n        \"commentEmailAddress\": \"\"\n    },\n    {\n        \"commentID\": 23,\n        \"comment\": \"1 QR New Part were received\",\n        \"timestamp\": 1607467636,\n        \"userID\": 341,\n        \"commentFiles\": [],\n        \"commentEmailAddress\": \"\"\n    },\n    {\n        \"commentID\": 24,\n        \"comment\": \"2 QR New Part were received\",\n        \"timestamp\": 1608749750,\n        \"userID\": 341,\n        \"commentFiles\": [],\n        \"commentEmailAddress\": \"\"\n    }\n]"}],"_postman_id":"4fdf2195-262b-46d7-a952-7f68046869c8"},{"name":"Upload PO Comment File","id":"9bb9a84c-b6a2-49ff-a119-4f10bc84f9bb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"formdata","formdata":[{"key":"file","type":"file","value":null}]},"url":"https://localhost:3000/v2/po/:poID/comments/:commentID/file","description":"<p>Uploads a file to a PO comment.</p>\n<p>Parameters:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>In</th>\n<th>Type</th>\n<th>Required</th>\n<th>Default</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>poID</td>\n<td>path</td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n<td>Purchase Order identifier</td>\n</tr>\n<tr>\n<td>commentID</td>\n<td>path</td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n<td>Comment identifier</td>\n</tr>\n<tr>\n<td>file</td>\n<td>form-data</td>\n<td>file</td>\n<td>yes</td>\n<td></td>\n<td>File to upload (max 50MB). Types: PDF, PNG, JPEG, GIF, TIFF, SVG, DOC, DOCX, XLS, XLSX, ZIP, RAR, RFC822, octet-stream</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","po",":poID","comments",":commentID","file"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"777702","key":"poID"},{"type":"any","value":"3619749","key":"commentID"}]}},"response":[{"id":"cbbda8f9-f408-46c5-ade5-fdc3aa3591b3","name":"200 OK","originalRequest":{"method":"PUT","header":[],"body":{"mode":"formdata","formdata":[{"key":"file","type":"file"}]},"url":{"raw":"https://localhost:3000/v2/po/:poID/comments/:commentID/file","protocol":"https","host":["localhost"],"port":"3000","path":["v2","po",":poID","comments",":commentID","file"],"variable":[{"key":"poID","value":"777702"},{"key":"commentID","value":"3619749"}]},"description":"Uploads a file to a PO comment.\n\nParameters:\n\n| Parameter | In | Type | Required | Default | Description |\n|---|---|---|---|---|---|\n| poID | path | integer | yes |  | Purchase Order identifier |\n| commentID | path | integer | yes |  | Comment identifier |\n| file | form-data | file | yes |  | File to upload (max 50MB). Types: PDF, PNG, JPEG, GIF, TIFF, SVG, DOC, DOCX, XLS, XLSX, ZIP, RAR, RFC822, octet-stream |"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"9bb9a84c-b6a2-49ff-a119-4f10bc84f9bb"},{"name":"Delete PO Comment File","id":"3ae8daae-c5b9-4304-a212-838f40ede6d5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://localhost:3000/v2/po/:poID/comments/:commentID/file?filename=invoice.pdf","description":"<p>Deletes a file from a PO comment.</p>\n<p>Parameters:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>In</th>\n<th>Type</th>\n<th>Required</th>\n<th>Default</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>poID</td>\n<td>path</td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n<td>Purchase Order identifier</td>\n</tr>\n<tr>\n<td>commentID</td>\n<td>path</td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n<td>Comment identifier</td>\n</tr>\n<tr>\n<td>filename</td>\n<td>query</td>\n<td>string</td>\n<td>yes</td>\n<td></td>\n<td>Exact filename to remove</td>\n</tr>\n</tbody>\n</table>\n</div><p>Responses:</p>\n<ul>\n<li>200 OK: Deleted.</li>\n<li>404 Not Found: File not found.</li>\n</ul>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","po",":poID","comments",":commentID","file"],"host":["localhost"],"query":[{"key":"filename","value":"invoice.pdf"}],"variable":[{"id":"83c6d0af-6907-4eb9-bc18-4009eadf101f","type":"any","value":"1234","key":"poID"},{"id":"68a5f85e-978a-4efb-8f0e-fa18b5c86a9d","type":"any","value":"5678","key":"commentID"}]}},"response":[{"id":"b9accef9-6cc0-4ca5-b757-f98a120661f7","name":"200 OK","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://localhost:3000/v2/po/:poID/comments/:commentID/file?filename=invoice.pdf","protocol":"https","host":["localhost"],"port":"3000","path":["v2","po",":poID","comments",":commentID","file"],"query":[{"key":"filename","value":"invoice.pdf"}],"variable":[{"key":"poID","value":"1234"},{"key":"commentID","value":"5678"}]},"description":"Deletes a file from a PO comment.\n\nParameters:\n\n| Parameter | In | Type | Required | Default | Description |\n|---|---|---|---|---|---|\n| poID | path | integer | yes |  | Purchase Order identifier |\n| commentID | path | integer | yes |  | Comment identifier |\n| filename | query | string | yes |  | Exact filename to remove |\n\nResponses:\n- 200 OK: Deleted.\n- 404 Not Found: File not found."},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"3ae8daae-c5b9-4304-a212-838f40ede6d5"},{"name":"Create PO Comment","id":"9e6b454f-43f0-451d-8abe-91371ca5beb5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"comment\": \"Please expedite shipping\",\n  \"showExternalUsers\": true\n}"},"url":"https://localhost:3000/v2/po/:poID/comments","description":"<p>Adds a comment to the specified PO.</p>\n<p>Parameters:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>In</th>\n<th>Type</th>\n<th>Required</th>\n<th>Default</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>poID</td>\n<td>path</td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n<td>Purchase Order identifier</td>\n</tr>\n<tr>\n<td>comment</td>\n<td>body</td>\n<td>string</td>\n<td>yes</td>\n<td></td>\n<td>Comment text</td>\n</tr>\n<tr>\n<td>showExternalUsers</td>\n<td>body</td>\n<td>boolean</td>\n<td>no</td>\n<td>true</td>\n<td>Visible to external users</td>\n</tr>\n</tbody>\n</table>\n</div><p>Responses:</p>\n<ul>\n<li>201 Created: Returns commentID.</li>\n</ul>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","po",":poID","comments"],"host":["localhost"],"query":[],"variable":[{"id":"8938e518-ca04-4440-803b-58ce8f9f217e","type":"any","value":"1234","key":"poID"}]}},"response":[{"id":"870f58b8-bdc1-4add-b6b7-bb928bba492f","name":"201 Created","originalRequest":{"header":[],"url":""},"status":"Created","code":201,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"commentID\": 56997\n}"}],"_postman_id":"9e6b454f-43f0-451d-8abe-91371ca5beb5"},{"name":"Delete PO Comment","id":"be91df9e-d0c6-4ac4-9a30-f0ad028a8286","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://localhost:3000/v2/po/:poID/comments/:commentID","description":"<p>Deletes a PO comment.</p>\n<p>Parameters:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>In</th>\n<th>Type</th>\n<th>Required</th>\n<th>Default</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>poID</td>\n<td>path</td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n<td>Purchase Order identifier</td>\n</tr>\n<tr>\n<td>commentID</td>\n<td>path</td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n<td>Comment identifier</td>\n</tr>\n</tbody>\n</table>\n</div><p>Responses:</p>\n<ul>\n<li>200 OK: Deleted.</li>\n<li>404 Not Found: Comment not found.</li>\n</ul>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","po",":poID","comments",":commentID"],"host":["localhost"],"query":[],"variable":[{"id":"cca88b5a-a96f-4bd9-8e47-f2172179e34a","type":"any","value":"1","key":"poID"},{"id":"943bdaad-6954-4399-8070-4aa817d5694a","type":"any","value":"5678","key":"commentID"}]}},"response":[{"id":"bb1ba2fa-ecb5-446f-9587-e11ea2e926c0","name":"200 OK","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://localhost:3000/v2/po/:poID/comments/:commentID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","po",":poID","comments",":commentID"],"variable":[{"key":"poID","value":"1"},{"key":"commentID","value":"5678"}]},"description":"Deletes a PO comment.\n\nParameters:\n\n| Parameter | In | Type | Required | Default | Description |\n|---|---|---|---|---|---|\n| poID | path | integer | yes |  | Purchase Order identifier |\n| commentID | path | integer | yes |  | Comment identifier |\n\nResponses:\n- 200 OK: Deleted.\n- 404 Not Found: Comment not found."},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"be91df9e-d0c6-4ac4-9a30-f0ad028a8286"}],"id":"16595aa6-be4e-4cb4-8ded-0a0951f63e06","_postman_id":"16595aa6-be4e-4cb4-8ded-0a0951f63e06","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"State","item":[{"name":"Change PO State","id":"a94514e8-a47e-4d7a-91be-309f6dd23578","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"newState\": \"custom_step_1\",\n  \"reason\": \"PO closed by manager\"\n}"},"url":"https://localhost:3000/v2/po/:poID/state","description":"<p>Updates the state of the specified PO.  </p>\n<p>Important Note: Currently POs can only move forward one state per state change request.</p>\n<p>Parameters:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>In</th>\n<th>Type</th>\n<th>Required</th>\n<th>Default</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>poID</td>\n<td>path</td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n<td>Purchase Order identifier</td>\n</tr>\n<tr>\n<td>newState</td>\n<td>body</td>\n<td>string</td>\n<td>yes</td>\n<td></td>\n<td>All PO states: 0 (setup), 1–96 (custom), 97 (ready_to_receive), 98 (partially_received), 99 (fully_received), 100 (closed), 101 (disapproved). API accepts numbers, standard names, or custom_step_N</td>\n</tr>\n<tr>\n<td>reason</td>\n<td>body</td>\n<td>string</td>\n<td>no</td>\n<td></td>\n<td>Optional note (max 500 chars)</td>\n</tr>\n</tbody>\n</table>\n</div><p>Responses:</p>\n<ul>\n<li><p>200 OK: State changed.</p>\n</li>\n<li><p>400 Bad Request: Invalid transition or failed validation.</p>\n</li>\n<li><p>404 Not Found: PO not found.</p>\n</li>\n</ul>\n<p>Response data:</p>\n<table><tbody><tr><th>Property</th><th>Description</th></tr><tr><td><div>success</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Boolean, if this operation was successful</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>state</div><div><div><div><div></div></div></div><div></div></div></td><td><div>JSON object describing current state.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>previousState</div><div><div><div><div></div></div></div><div></div></div></td><td><div>JSON object describing previous state.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>validNextStates</div><div><div><div><div></div></div></div><div></div></div></td><td><div>JSON object with a list of possible next states.</div><div><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","po",":poID","state"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"31939","key":"poID"}]}},"response":[{"id":"8870772e-6af2-4d25-ad4e-263cb0b159e7","name":"200 OK","originalRequest":{"header":[],"url":""},"status":"OK","code":200,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"message\": \"State changed\",\n  \"currentState\": \"ready_to_receive\"\n}"},{"id":"45508325-8e57-442a-bc29-e2106bf4d65c","name":"400 Invalid transition","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"newState\": \"custom_step_1\",\n  \"reason\": \"PO closed by manager\"\n}"},"url":{"raw":"https://localhost:3000/v2/po/:poID/state","protocol":"https","host":["localhost"],"port":"3000","path":["v2","po",":poID","state"],"variable":[{"key":"poID","value":"31939"}]},"description":"Updates the state of the specified PO.\n\nParameters:\n\n| Parameter | In | Type | Required | Default | Description |\n| --- | --- | --- | --- | --- | --- |\n| poID | path | integer | yes |  | Purchase Order identifier |\n| newState | body | string | yes |  | All PO states: 0 (setup), 1–96 (custom), 97 (ready_to_receive), 98 (partially_received), 99 (fully_received), 100 (closed), 101 (disapproved). API accepts numbers, standard names, or custom_step_N |\n| reason | body | string | no |  | Optional note (max 500 chars) |\n\nResponses:\n\n- 200 OK: State changed.\n    \n- 400 Bad Request: Invalid transition or failed validation.\n    \n- 404 Not Found: PO not found.\n    \n\nResponse data:\n\n<table><tbody><tr><th>Property</th><th>Description</th></tr><tr><td><div>success</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>Boolean, if this operation was successful</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>state</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>JSON object describing current state.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>previousState</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>JSON object describing previous state.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>validNextStates</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>JSON object with a list of possible next states.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n  \"success\": false,\n  \"message\": \"Transition not allowed from current state\"\n}"}],"_postman_id":"a94514e8-a47e-4d7a-91be-309f6dd23578"},{"name":"Get PO State Transitions","id":"a5f52696-d0da-4a72-b237-4404d1253e49","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/po/:poID/state/transitions","description":"<p>Returns the list of valid next states for the specified PO.</p>\n<p>Parameters:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Default</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>poID</td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n<td>Purchase Order identifier</td>\n</tr>\n</tbody>\n</table>\n</div><p>Return data:  </p>\n<p>Array of JSON objects listing possible next state transitions for the selected PO.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","po",":poID","state","transitions"],"host":["localhost"],"query":[],"variable":[{"id":"747be170-4c36-4cf3-80e5-3a81856ba847","description":{"content":"<p>Purchase Order identifier</p>\n","type":"text/plain"},"type":"any","value":"31939","key":"poID"}]}},"response":[{"id":"6a3e287a-2cbb-487a-a05f-9dfb3ec813df","name":"200 OK","originalRequest":{"header":[],"url":""},"status":"OK","code":200,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n  \"currentState\": {\n    \"number\": 0,\n    \"name\": \"setup\",\n    \"label\": \"Setup\"\n  },\n  \"validNextStates\": [\n    {\n      \"number\": 97,\n      \"name\": \"ready_to_receive\",\n      \"label\": \"Ready to Receive\"\n    },\n    {\n      \"number\": 101,\n      \"name\": \"disapproved\",\n      \"label\": \"Disapproved\"\n    }\n  ],\n  \"requirements\": {\n    \"ready_to_receive\": {\n      \"vendorRequired\": true\n    },\n    \"disapproved\": {}\n  }\n}\n"}],"_postman_id":"a5f52696-d0da-4a72-b237-4404d1253e49"}],"id":"8043dc9f-9356-4e9d-9e10-a7a0c009fe7a","_postman_id":"8043dc9f-9356-4e9d-9e10-a7a0c009fe7a","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Get Purchase Orders","event":[{"listen":"test","script":{"id":"3b756b08-d7ea-49e2-9b56-872b99fd94c3","exec":["pm.test(\"response must be valid and have a body\", function () {\r","     // assert that the status code is 200\r","     pm.response.to.be.ok; // info, success, redirection, clientError,  serverError, are other variants\r","     // assert that the response has a valid JSON body\r","     pm.response.to.be.withBody;\r","     pm.response.to.be.json; // this assertion also checks if a body  exists, so the above check is not needed\r","});"],"type":"text/javascript"}}],"id":"33ebdaec-c271-42ee-8327-79a31ba46667","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/po","description":"<table><tbody><tr><th>Property</th><th>Description</th></tr><tr><td><div>meta</div><div><div><div><div></div></div></div><div></div></div></td><td><div>useful links relating to this Purchase order</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>poID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The unique ID of the Purchase Order.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>poNumber</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The user-set Purchase Order number.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>budgetID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The unique ID of the budget associated with this Purchase Order.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>vendorID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The unique ID of the vendor associated with this Purchase Order.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>locationID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The unique ID of the location associated with this Purchase Order.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>userIDStarted</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The unique ID of the user that started this Purchase Order.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>userID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The unique ID of the user this Purchase Order is currently assigned to.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>teamID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The unique ID of the team the user of this Purchase Order is currently assigned to.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>requestedByUserID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The userID of the user that request this Purchase Order. A value of 0 means this PO wasn't requested, but was manually started by the userIDStarted.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>date</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The date this PO was started as a UNIX timestamp, or the date the user inputted for the Purchase Order.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>expectedDate</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The date this PO is expected as a UNIX timestamp to receive items.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>billTo</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The address that should receive the bill for the PO.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>shipTo</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The address the PO's items should be delivered to.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>notesToVendor</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Any notes sent to the vendor, possibly containing handling, packaging, or delivery instructions.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>customField1</div><div><div><div><div></div></div></div><div></div></div></td><td><div>PO custom field, the customer chooses which custom fields are available on all POs.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>customField2</div><div><div><div><div></div></div></div><div></div></div></td><td><div>PO custom field, the customer chooses which custom fields are available on all POs.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>customField3</div><div><div><div><div></div></div></div><div></div></div></td><td><div>PO custom field, the customer chooses which custom fields are available on all POs.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>customField4</div><div><div><div><div></div></div></div><div></div></div></td><td><div>PO custom field, the customer chooses which custom fields are available on all POs.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>customField5</div><div><div><div><div></div></div></div><div></div></div></td><td><div>PO custom field, the customer chooses which custom fields are available on all POs.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>customField6</div><div><div><div><div></div></div></div><div></div></div></td><td><div>PO custom field, the customer chooses which custom fields are available on all POs.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>poPrefix</div><div><div><div><div></div></div></div><div></div></div></td><td><div>If a PO prefix is configured, it will show up here.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>lastEdited</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Last time this PO was edited as a UNIX timestamp.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>status</div><div><div><div><div></div></div></div><div></div></div></td><td><div>This is the current status of a PO. Status of PO can be as follows:<br />0: the PO has only been setup. (Status: Setup)<br />1-97: these are custom statuses based on the budget steps. Refer to \"budgetSteps\" in meta. (Status : {Name of the budgetStep it is on} )<br />97: the PO is in the ready to receive step. This means items can be received for this PO. (Status: Ready to Receive)<br />98 all budget steps have been completed, but not all items on the PO have been received. This means only some items or partial qty of items have been received. (Status: Partially Received)<br />99: the PO is completed. This means all the items and their full qty on the PO have been received but not been paid for ( i.e. all the bills generated for this PO have not been marked as paid yet.) (Status: Fully Received - Pending Payment)<br />100: the PO is closed. This means all the items on the PO have been received and have been paid for. (i.e. all the bills for this PO have been marked as paid.) (Status: Closed)</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>stateDetails</div><div><div><div><div></div></div></div><div></div></div></td><td><div>JSON object containing details about the PO's current state, and available state transitions.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>poNumberDisplay</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Formatted display string with leading zeros and prefix. This is the PO Number the UI will display.</div><div><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","po"],"host":["localhost"],"query":[{"disabled":true,"description":{"content":"<p>This parameter is used to only get specific POs. This parameter expects a comma delimited list of PO IDs.</p>\n","type":"text/plain"},"key":"pos","value":"1"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get specific Vendors. This parameter expects a comma delimited list of Vendor IDs.</p>\n","type":"text/plain"},"key":"vendors","value":"9"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get POs at a specific group of Locations. This parameter accepts a comma delimited list of Location IDs.</p>\n","type":"text/plain"},"key":"locations","value":"73"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get specific POs by Number. This parameter expects a comma delimited list of PO Numbers.</p>\n","type":"text/plain"},"key":"numbers","value":"1"},{"disabled":true,"description":{"content":"<p>This parameter is a cursor that selects what poID you want to start receiving results at. e.g. passing 137 here will only get you PO with an id greater than 137.</p>\n","type":"text/plain"},"key":"cursor","value":"0"},{"disabled":true,"description":{"content":"<p>This parameter is a result limiter. The default is set to return no more than 100 results at one time.</p>\n","type":"text/plain"},"key":"limit","value":"2"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get POs that were last edited after the unix timestamp passed into the start parameter. For example, all POs that were last edited after April 18th, 2018.</p>\n","type":"text/plain"},"key":"lastEditedStart","value":"1629737835"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get POs that were last edited <em>before</em> the unix timestamp passed in.</p>\n","type":"text/plain"},"key":"lastEditedEnd","value":"1630121871"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get POs for a specific group of status.</p>\n","type":"text/plain"},"key":"status","value":"97,99"},{"disabled":true,"description":{"content":"<p>This parameter is used to paginate results based on the limit. Refer to Pagination section for more information.</p>\n","type":"text/plain"},"key":"page","value":"3"}],"variable":[]}},"response":[{"id":"1f50d6a8-ac58-4f73-9240-3be196de4e94","name":"Get Purchase Orders","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/po?pos=1&vendors=9&locations=163&numbers=1&cursor=0&limit=500&lastEditedStart=1629737835&lastEditedEnd=1630121871&status=97,99","protocol":"https","host":["localhost"],"port":"3000","path":["v2","po"],"query":[{"key":"pos","value":"1","description":"This parameter is used to only get specific POs. This parameter expects a comma delimited list of PO IDs."},{"key":"vendors","value":"9","description":"This parameter is used to only get specific Vendors. This parameter expects a comma delimited list of Vendor IDs."},{"key":"locations","value":"163","description":"This parameter is used to only get POs at a specific group of Locations. This parameter accepts a comma delimited list of Location IDs."},{"key":"numbers","value":"1","description":"This parameter is used to only get specific POs by Number. This parameter expects a comma delimited list of PO Numbers."},{"key":"cursor","value":"0","description":"This parameter is a cursor that selects what poID you want to start receiving results at. e.g. passing 137 here will only get you PO with an id greater than 137."},{"key":"limit","value":"500","description":"This parameter is a result limiter. The default is set to return no more than 100 results at one time."},{"key":"lastEditedStart","value":"1629737835","description":"This parameter is used to only get POs that were last edited after the unix timestamp passed into the start parameter. For example, all POs that were last edited after April 18th, 2018."},{"key":"lastEditedEnd","value":"1630121871","description":"This parameter is used to only get POs that were last edited *before* the unix timestamp passed in."},{"key":"status","value":"97,99","description":"This parameter is used to only get POs for a specific group of status."},{"key":"page","value":null,"description":"This parameter is used to paginate results based on the limit. Refer to Pagination section for more information.","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"509","enabled":true},{"key":"ETag","value":"W/\"1fd-J3yl1vG7Cl2WODU/Xbj8HRSyR4o\"","enabled":true},{"key":"Date","value":"Thu, 02 Sep 2021 19:23:50 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true}],"cookie":[],"responseTime":null,"body":"[ \n    { \n        \"poID\": 1,\n        \"taskID\": 16,\n        \"budgetID\": 1,\n        \"poNumber\": 1,\n        \"vendorID\": 9,\n        \"locationID\": 163,\n        \"userIDStarted\": 340,\n        \"userID\": 341,\n        \"teamID\": 0,\n        \"requestedByUserID\": 0,\n        \"date\": 1565902331,\n        \"expectedDate\": null,\n        \"notesToVendor\": \"\",\n        \"billTo\": null,\n        \"shipTo\": null,\n        \"status\": 99,\n        \"customField1\": null,\n        \"customField2\": null,\n        \"customField3\": null,\n        \"customField4\": null,\n        \"customField5\": null,\n        \"customField6\": null,\n        \"lastEdited\": 1629737835,\n        \"poPrefix\": null,\n        \"meta\": {\n            \"items\": \"/v2/po/items?pos=1\",\n            \"state\": \"/v2/po/1/state\",\n            \"stateTransitions\": \"/v2/po/1/state/transitions\",\n            \"budget\": \"/v2/po/budgets?budgets=1\",\n            \"budgetSteps\": \"/v2/budgets/steps?budgets=1\"\n        },\n        \"stateDetails\": {\n            \"current\": {\n                \"number\": 99,\n                \"name\": \"fully_received\",\n                \"label\": \"Fully Received\",\n                \"canModify\": false\n            },\n            \"transitions\": {\n                \"available\": [\n                    {\n                        \"state\": 100,\n                        \"name\": \"closed\",\n                        \"label\": \"Closed\"\n                    }\n                ]\n            }\n        },\n        \"state\": 99\n    },\n    {\n        \"poID\": 4,\n        \"budgetID\": 1,\n        \"poNumber\": 4,\n        \"vendorID\": 9,\n        \"locationID\": 163,\n        \"userIDStarted\": 340,\n        \"userID\": 656,\n        \"teamID\": 0,\n        \"requestedByUserID\": 0,\n        \"date\": 1565903115,\n        \"expectedDate\": null,\n        \"notesToVendor\": \"\",\n        \"billTo\": null,\n        \"shipTo\": null,\n        \"status\": 99,\n        \"customField1\": null,\n        \"customField2\": null,\n        \"customField3\": null,\n        \"customField4\": null,\n        \"customField5\": null,\n        \"customField6\": null,\n        \"lastEdited\": 1743190786,\n        \"poPrefix\": null,\n        \"meta\": {\n            \"items\": \"/v2/po/items?pos=4\",\n            \"state\": \"/v2/po/4/state\",\n            \"stateTransitions\": \"/v2/po/4/state/transitions\",\n            \"budget\": \"/v2/po/budgets?budgets=1\",\n            \"budgetSteps\": \"/v2/budgets/steps?budgets=1\"\n        },\n        \"stateDetails\": {\n            \"current\": {\n                \"number\": 99,\n                \"name\": \"fully_received\",\n                \"label\": \"Fully Received\",\n                \"canModify\": false\n            },\n            \"transitions\": {\n                \"available\": [\n                    {\n                        \"state\": 100,\n                        \"name\": \"closed\",\n                        \"label\": \"Closed\"\n                    }\n                ]\n            }\n        },\n        \"state\": 99\n    }\n]"},{"id":"c2ee4ba7-b0fd-4802-8257-63c91c22dbd0","name":"Pagination using Page & Limit","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/po?limit=2&page=3","protocol":"https","host":["localhost"],"port":"3000","path":["v2","po"],"query":[{"key":"pos","value":"1","description":"This parameter is used to only get specific POs. This parameter expects a comma delimited list of PO IDs.","disabled":true},{"key":"vendors","value":"9","description":"This parameter is used to only get specific Vendors. This parameter expects a comma delimited list of Vendor IDs.","disabled":true},{"key":"locations","value":"73","description":"This parameter is used to only get POs at a specific group of Locations. This parameter accepts a comma delimited list of Location IDs.","disabled":true},{"key":"numbers","value":"1","description":"This parameter is used to only get specific POs by Number. This parameter expects a comma delimited list of PO Numbers.","disabled":true},{"key":"cursor","value":"0","description":"This parameter is a cursor that selects what poID you want to start receiving results at. e.g. passing 137 here will only get you PO with an id greater than 137.","disabled":true},{"key":"limit","value":"2","description":"This parameter is a result limiter. The default is set to return no more than 100 results at one time."},{"key":"lastEditedStart","value":"1629737835","description":"This parameter is used to only get POs that were last edited after the unix timestamp passed into the start parameter. For example, all POs that were last edited after April 18th, 2018.","disabled":true},{"key":"lastEditedEnd","value":"1630121871","description":"This parameter is used to only get POs that were last edited *before* the unix timestamp passed in.","disabled":true},{"key":"status","value":"97,99","description":"This parameter is used to only get POs for a specific group of status.","disabled":true},{"key":"page","value":"3","description":"This parameter is used to paginate results based on the limit. Refer to Pagination section for more information."}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Last-Page","value":"/v2/po?limit=2&page=7","enabled":true},{"key":"Next-Page","value":"/v2/po?limit=2&page=4","enabled":true},{"key":"Previous-Page","value":"/v2/po?limit=2&page=2","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"1856","enabled":true},{"key":"ETag","value":"W/\"740-/DqZxF6KwgmigtVfrJYBrdBvo7A\"","enabled":true},{"key":"Date","value":"Mon, 29 Nov 2021 23:20:55 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"poID\": 165,\n        \"budgetID\": 121,\n        \"poNumber\": 33,\n        \"vendorID\": 286,\n        \"locationID\": 1023,\n        \"userIDStarted\": 340,\n        \"userID\": 5886,\n        \"teamID\": 0,\n        \"requestedByUserID\": 0,\n        \"date\": 1627020441,\n        \"expectedDate\": 1627676753,\n        \"notesToVendor\": null,\n        \"billTo\": null,\n        \"shipTo\": null,\n        \"status\": 0,\n        \"customField1\": \"Assimilated Trail Metal Borders integrated Handcrafted Borders Frozen Ergonomic Units Buckinghamshire ROI\",\n        \"customField2\": \"web-enabled bifurcated Bike Row white Concrete feed Passage Mexico Dynamic payment Soft\",\n        \"customField3\": \"redefine Sum deliverables quantify integrated Advanced Facilitator Personal haptic Intelligent non-volatile 24/7\",\n        \"customField4\": \"Virginia multi-tasking mesh Refined port SDD cohesive payment Bedfordshire Fish holistic grid-enabled\",\n        \"customField5\": null,\n        \"customField6\": null,\n        \"lastEdited\": 1626995856,\n        \"poPrefix\": \"\",\n        \"meta\": {\n            \"items\": \"/v2/po/items?pos=165\",\n            \"budget\": \"/v2/po/budgets?budgets=121\",\n            \"budgetSteps\": \"/v2/budgets/steps?budgets=121\"\n        }\n    },\n    {\n        \"poID\": 202,\n        \"budgetID\": 158,\n        \"poNumber\": 34,\n        \"vendorID\": 323,\n        \"locationID\": 1060,\n        \"userIDStarted\": 340,\n        \"userID\": 6037,\n        \"teamID\": 0,\n        \"requestedByUserID\": 0,\n        \"date\": 1627655167,\n        \"expectedDate\": 1627618334,\n        \"notesToVendor\": null,\n        \"billTo\": null,\n        \"shipTo\": null,\n        \"status\": 0,\n        \"customField1\": \"Soap open-source solution-oriented Central Seychelles yellow Polarised Iowa Borders overriding Savings reboot\",\n        \"customField2\": \"Guinea generating Fresh virtual Borders copying Loan Metal Hawaii matrix e-business neural\",\n        \"customField3\": \"Alabama Intelligent Balboa Pakistan transmit Ports Saint Networked Alaska International superstructure Garden\",\n        \"customField4\": \"Investment grow Guinea Account Creek Dynamic Norway Ergonomic quantifying Bedfordshire Berkshire Dinar\",\n        \"customField5\": null,\n        \"customField6\": null,\n        \"lastEdited\": 1627588545,\n        \"poPrefix\": \"\",\n        \"meta\": {\n            \"items\": \"/v2/po/items?pos=202\",\n            \"budget\": \"/v2/po/budgets?budgets=158\",\n            \"budgetSteps\": \"/v2/budgets/steps?budgets=158\"\n        }\n    }\n]"},{"id":"103e55ec-2a47-4524-bc25-7db8f5a9d1ca","name":"Get Purchase Orders","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/po","protocol":"https","host":["localhost"],"port":"3000","path":["v2","po"],"query":[{"key":"pos","value":"1","description":"This parameter is used to only get specific POs. This parameter expects a comma delimited list of PO IDs.","disabled":true},{"key":"vendors","value":"9","description":"This parameter is used to only get specific Vendors. This parameter expects a comma delimited list of Vendor IDs.","disabled":true},{"key":"locations","value":"73","description":"This parameter is used to only get POs at a specific group of Locations. This parameter accepts a comma delimited list of Location IDs.","disabled":true},{"key":"numbers","value":"1","description":"This parameter is used to only get specific POs by Number. This parameter expects a comma delimited list of PO Numbers.","disabled":true},{"key":"cursor","value":"0","description":"This parameter is a cursor that selects what poID you want to start receiving results at. e.g. passing 137 here will only get you PO with an id greater than 137.","disabled":true},{"key":"limit","value":"2","description":"This parameter is a result limiter. The default is set to return no more than 100 results at one time.","disabled":true},{"key":"lastEditedStart","value":"1629737835","description":"This parameter is used to only get POs that were last edited after the unix timestamp passed into the start parameter. For example, all POs that were last edited after April 18th, 2018.","disabled":true},{"key":"lastEditedEnd","value":"1630121871","description":"This parameter is used to only get POs that were last edited *before* the unix timestamp passed in.","disabled":true},{"key":"status","value":"97,99","description":"This parameter is used to only get POs for a specific group of status.","disabled":true},{"key":"page","value":"3","description":"This parameter is used to paginate results based on the limit. Refer to Pagination section for more information.","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 07 Apr 2025 14:01:38 GMT","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Transfer-Encoding","value":"chunked","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"vary","value":"Accept-Encoding","enabled":true},{"key":"content-security-policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"x-dns-prefetch-control","value":"off","enabled":true},{"key":"expect-ct","value":"max-age=0","enabled":true},{"key":"x-frame-options","value":"SAMEORIGIN","enabled":true},{"key":"strict-transport-security","value":"max-age=31536000; includeSubDomains; preload","enabled":true},{"key":"x-download-options","value":"noopen","enabled":true},{"key":"x-content-type-options","value":"nosniff","enabled":true},{"key":"x-permitted-cross-domain-policies","value":"none","enabled":true},{"key":"referrer-policy","value":"no-referrer","enabled":true},{"key":"x-xss-protection","value":"0","enabled":true},{"key":"api-feedback-link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"x-ratelimit-limit","value":"4000","enabled":true},{"key":"x-ratelimit-minute-limit","value":"360","enabled":true},{"key":"x-ratelimit-remaining","value":"3999","enabled":true},{"key":"x-ratelimit-first-call","value":"1744034498","enabled":true},{"key":"x-ratelimit-minute-remaining","value":"359","enabled":true},{"key":"x-ratelimit-minute-first-call","value":"1744034498","enabled":true},{"key":"etag","value":"W/\"d729-oqbTEa4ZRrnLya8srD5xtv1OOPc\"","enabled":true},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0","enabled":true},{"key":"Content-Encoding","value":"gzip","enabled":true},{"key":"cf-cache-status","value":"DYNAMIC","enabled":true},{"key":"Set-Cookie","value":"__cf_bm=5.yO7MYR5qwzedUE5nEwQ7PeBmsHcdH42loGoEZ9U6c-1744034498-1.0.1.1-nTwv03CCacVE01sDv3w_aAgWfzNblxitlhMUzVsK3hHcsCUf.xFPcbrC7A5GmciSZuwmy.HUN_w8WmR_5DSJJe_F43dBbXs2Q0mRs0lI7TA; path=/; expires=Mon, 07-Apr-25 14:31:38 GMT; domain=.limblecmms.com; HttpOnly; Secure; SameSite=None","enabled":true},{"key":"Set-Cookie","value":"_cfuvid=x7L0fFAuEpn9nx3prQWG3hNWh6Gef7evKs0a2LLjCAQ-1744034498473-0.0.1.1-604800000; path=/; domain=.limblecmms.com; HttpOnly; Secure; SameSite=None","enabled":true},{"key":"Server","value":"cloudflare","enabled":true},{"key":"CF-RAY","value":"92ca0edd6d7c58a8-IAD","enabled":true}],"cookie":[],"responseTime":null,"body":"[ \n    { \n        \"poID\": 1,\n        \"budgetID\": 1,\n        \"poNumber\": 1,\n        \"vendorID\": 9,\n        \"locationID\": 163,\n        \"userIDStarted\": 340,\n        \"userID\": 341,\n        \"teamID\": 0,\n        \"requestedByUserID\": 0,\n        \"date\": 1565902331,\n        \"expectedDate\": null,\n        \"notesToVendor\": \"\",\n        \"billTo\": null,\n        \"shipTo\": null,\n        \"status\": 99,\n        \"customField1\": null,\n        \"customField2\": null,\n        \"customField3\": null,\n        \"customField4\": null,\n        \"customField5\": null,\n        \"customField6\": null,\n        \"lastEdited\": 1629737835,\n        \"poPrefix\": null,\n        \"meta\": {\n            \"items\": \"/v2/po/items?pos=1\",\n            \"state\": \"/v2/po/1/state\",\n            \"stateTransitions\": \"/v2/po/1/state/transitions\",\n            \"budget\": \"/v2/po/budgets?budgets=1\",\n            \"budgetSteps\": \"/v2/budgets/steps?budgets=1\"\n        },\n        \"stateDetails\": {\n            \"current\": {\n                \"number\": 99,\n                \"name\": \"fully_received\",\n                \"label\": \"Fully Received\",\n                \"canModify\": false\n            },\n            \"transitions\": {\n                \"available\": [\n                    {\n                        \"state\": 100,\n                        \"name\": \"closed\",\n                        \"label\": \"Closed\"\n                    }\n                ]\n            }\n        },\n        \"state\": 99\n    },\n    {\n        \"poID\": 4,\n        \"budgetID\": 1,\n        \"poNumber\": 4,\n        \"vendorID\": 9,\n        \"locationID\": 163,\n        \"userIDStarted\": 340,\n        \"userID\": 656,\n        \"teamID\": 0,\n        \"requestedByUserID\": 0,\n        \"date\": 1565903115,\n        \"expectedDate\": null,\n        \"notesToVendor\": \"\",\n        \"billTo\": null,\n        \"shipTo\": null,\n        \"status\": 99,\n        \"customField1\": null,\n        \"customField2\": null,\n        \"customField3\": null,\n        \"customField4\": null,\n        \"customField5\": null,\n        \"customField6\": null,\n        \"lastEdited\": 1743190786,\n        \"poPrefix\": null,\n        \"meta\": {\n            \"items\": \"/v2/po/items?pos=4\",\n            \"state\": \"/v2/po/4/state\",\n            \"stateTransitions\": \"/v2/po/4/state/transitions\",\n            \"budget\": \"/v2/po/budgets?budgets=1\",\n            \"budgetSteps\": \"/v2/budgets/steps?budgets=1\"\n        },\n        \"stateDetails\": {\n            \"current\": {\n                \"number\": 99,\n                \"name\": \"fully_received\",\n                \"label\": \"Fully Received\",\n                \"canModify\": false\n            },\n            \"transitions\": {\n                \"available\": [\n                    {\n                        \"state\": 100,\n                        \"name\": \"closed\",\n                        \"label\": \"Closed\"\n                    }\n                ]\n            }\n        },\n        \"state\": 99\n    }\n]"}],"_postman_id":"33ebdaec-c271-42ee-8327-79a31ba46667"},{"name":"New Purchase Order","id":"918785d8-688e-432f-8a34-05a0f2146f92","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"locationID\": 38469,\n    \"vendorID\": 182015,\n    \"userID\": 230530,\n    \"requestDescription\": \"testing API created PO\",\n    \"date\": 1721631600,\n    \"expectedDate\": 1721631600,\n    \"budgetID\": 6913,\n    \"customField1\": \"Test customField1\",\n    \"customField2\": \"Test customField2\",\n    \"customField3\": \"Test customField3\"\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/po","description":"<p>This request creates a new Purchase Order.</p>\n<table>\n    <thead>\n        <tr>\n            <th>Parameter</th>\n            <th>Type</th>\n            <th>Required?</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>locationID</td>\n            <td>Int</td>\n            <td>Required</td>\n            <td>The ID of the location this PO will be created for.</td>\n        </tr>\n        <tr>\n            <td>vendorID</td>\n            <td>Int</td>\n            <td>Required</td>\n            <td>The ID of the vendor that this PO will be associated with.</td>\n        </tr>\n        <tr>\n            <td>userID</td>\n            <td>Int</td>\n            <td>Required</td>\n            <td>The ID of the user that this PO will be assigned to.</td>\n        </tr>\n        <tr>\n            <td>taskID</td>\n            <td>Int</td>\n            <td>Optional</td>\n            <td>The ID of the task that this PO will be associated with.</td>\n        </tr>\n        <tr>\n            <td>budgetID</td>\n            <td>Int</td>\n            <td>Optional</td>\n            <td>The ID of the budget that this PO will be associated with. If not provided, this will be the location's default budget.</td>\n        </tr>\n        <tr>\n            <td>date</td>\n            <td>Int</td>\n            <td>Optional</td>\n            <td>The start time of the PO -- this can be in the past or the future and will still show up in the UI. Must be a <a href=\"https://www.unixtimestamp.com/\">unix timestamp</a>. If not provided, this will default to the current time.</td>\n        </tr>\n        <tr>\n            <td>expectedDate</td>\n            <td>Int</td>\n            <td>Optional</td>\n            <td>The expected delivery date of this PO. Must be a <a href=\"https://www.unixtimestamp.com/\">unix timestamp</a>.</td>\n        </tr>\n        <tr>\n            <td>requestDescription</td>\n            <td>String</td>\n            <td>Optional</td>\n            <td>A description of the \"request\" for this PO.</td>\n        </tr>\n        <tr>\n            <td>customField1</td>\n            <td>String</td>\n            <td>Optional</td>\n            <td>PO custom field, the customer chooses which custom fields are available on all POs.</td>\n        </tr>\n        <tr>\n            <td>customField2</td>\n            <td>String</td>\n            <td>Optional</td>\n            <td>PO custom field, the customer chooses which custom fields are available on all POs.</td>\n        </tr>\n        <tr>\n            <td>customField3</td>\n            <td>String</td>\n            <td>Optional</td>\n            <td>PO custom field, the customer chooses which custom fields are available on all POs.</td>\n        </tr>\n        <tr>\n            <td>customField4</td>\n            <td>String</td>\n            <td>Optional</td>\n            <td>PO custom field, the customer chooses which custom fields are available on all POs.</td>\n        </tr>\n        <tr>\n            <td>customField5</td>\n            <td>String</td>\n            <td>Optional</td>\n            <td>PO custom field, the customer chooses which custom fields are available on all POs.</td>\n        </tr>\n        <tr>\n            <td>customField6</td>\n            <td>String</td>\n            <td>Optional</td>\n            <td>PO custom field, the customer chooses which custom fields are available on all POs.</td>\n        </tr>\n    </tbody>\n</table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","po"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"5f21fb64-b4cb-4d9e-b26e-181492c0a55e","name":"New Purchase Order","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"locationID\": 1,\n    \"vendorID\": 2,\n    \"userID\": 3\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/po"},"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"poID\": 1234,\n    \"meta\": {\n        \"items\": \"/v2/po/items?pos=31939\",\n        \"state\": \"/v2/po/31939/state\",\n        \"stateTransitions\": \"/v2/po/31939/state/transitions\"\n    }\n}"}],"_postman_id":"918785d8-688e-432f-8a34-05a0f2146f92"},{"name":"Update Purchase Order","id":"9f26110f-1599-4693-b019-246b5a6a50aa","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n    \"budgetID\": 1,\n    \"vendorID\": 2,\n    \"userID\": 1,\n    \"requestDescription\": \"We're gonna need a bigger boat.\",\n    \"customField1\": \"Test 2\",\n    \"customField2\": \"Test 5\",\n    \"customField3\": \"Test 1\",\n    \"customField4\": \"Test 56\"\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/po/:poID","description":"<p>This request updates a Purchase Order. Currently, changing the locationID that a PO belongs to is unsupported.</p>\n<table>\n    <thead>\n        <tr>\n            <th>Parameter</th>\n            <th>Type</th>\n            <th>Required?</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>vendorID</td>\n            <td>Int</td>\n            <td>Optional</td>\n            <td>The ID of the vendor that this PO will be associated with.</td>\n        </tr>\n        <tr>\n            <td>userID</td>\n            <td>Int</td>\n            <td>Optional</td>\n            <td>The ID of the user that this PO will be assigned to.</td>\n        </tr>\n        <tr>\n            <td>taskID</td>\n            <td>Int</td>\n            <td>Optional</td>\n            <td>The ID of the task that this PO will be associated with.</td>\n        </tr>\n        <tr>\n            <td>budgetID</td>\n            <td>Int</td>\n            <td>Optional</td>\n            <td>The ID of the budget that this PO will be associated with. <strong>Changing budgetID when the PO is past the setup phase (state 0) is not supported.</strong></td>\n        </tr>\n        <tr>\n            <td>date</td>\n            <td>Int</td>\n            <td>Optional</td>\n            <td>The start time of the PO -- this can be in the past or the future and will still show up in the UI. Must be a <a href=\"https://www.unixtimestamp.com/\">unix timestamp</a>.</td>\n        </tr>\n        <tr>\n            <td>expectedDate</td>\n            <td>Int</td>\n            <td>Optional</td>\n            <td>The expected delivery date of this PO. Must be a <a href=\"https://www.unixtimestamp.com/\">unix timestamp</a>.</td>\n        </tr>\n        <tr>\n            <td>requestDescription</td>\n            <td>String</td>\n            <td>Optional</td>\n            <td>A description of the \"request\" for this PO.</td>\n        </tr>\n        <tr>\n            <td>customField1</td>\n            <td>String</td>\n            <td>Optional</td>\n            <td>PO custom field, the customer chooses which custom fields are available on all POs.</td>\n        </tr>\n        <tr>\n            <td>customField2</td>\n            <td>String</td>\n            <td>Optional</td>\n            <td>PO custom field, the customer chooses which custom fields are available on all POs.</td>\n        </tr>\n        <tr>\n            <td>customField3</td>\n            <td>String</td>\n            <td>Optional</td>\n            <td>PO custom field, the customer chooses which custom fields are available on all POs.</td>\n        </tr>\n        <tr>\n            <td>customField4</td>\n            <td>String</td>\n            <td>Optional</td>\n            <td>PO custom field, the customer chooses which custom fields are available on all POs.</td>\n        </tr>\n        <tr>\n            <td>customField5</td>\n            <td>String</td>\n            <td>Optional</td>\n            <td>PO custom field, the customer chooses which custom fields are available on all POs.</td>\n        </tr>\n        <tr>\n            <td>customField6</td>\n            <td>String</td>\n            <td>Optional</td>\n            <td>PO custom field, the customer chooses which custom fields are available on all POs.</td>\n        </tr>\n    </tbody>\n</table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","po",":poID"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>poID of the PO that you are updating.</p>\n","type":"text/plain"},"type":"any","value":"1","key":"poID"}]}},"response":[{"id":"3b7e8282-0d00-47b7-9188-c30b7806fa48","name":"Update Purchase Order","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n    \"budgetID\": 1,\n    \"vendorID\": 2,\n    \"userID\": 1,\n    \"requestDescription\": \"We're gonna need a bigger boat.\",\n    \"customField1\": \"Test 2\",\n    \"customField2\": \"Test 5\",\n    \"customField3\": \"Test 1\",\n    \"customField4\": \"Test 56\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://localhost:3000/v2/po/:poID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","po",":poID"],"variable":[{"key":"poID","value":"1"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"16","enabled":true},{"key":"ETag","value":"W/\"10-oV4hJxRVSENxc/wX8+mA4/Pe4tA\"","enabled":true},{"key":"Date","value":"Fri, 08 Jan 2021 23:23:28 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true\n}"}],"_postman_id":"9f26110f-1599-4693-b019-246b5a6a50aa"},{"name":"Delete PO","event":[{"listen":"test","script":{"id":"a9bba5fa-251f-4469-a03e-09b36afb613c","exec":[""],"type":"text/javascript"}}],"id":"b3eb990c-f51f-424e-bf9b-44141c17d445","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://localhost:3000/v2/po/:poID","description":"<p>This request deletes a PO. This will also delete any PO Items that belong to this PO, which will also remove any relationships between PO Items, Parts, and Tasks, and will clean up any history of transactions on these PO Items.</p>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","po",":poID"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>poID of the PO that you are deleting.</p>\n","type":"text/plain"},"type":"any","value":"{{poID}}","key":"poID"}]}},"response":[{"id":"1efd60a8-0744-4950-a708-0cfa36cd1986","name":"Delete PO","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://localhost:3000/v2/po/:poID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","po",":poID"],"variable":[{"key":"poID","value":"1"}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Tue, 02 Feb 2021 18:31:39 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"b3eb990c-f51f-424e-bf9b-44141c17d445"}],"id":"28587086-c4c1-4e42-8d4e-c3e7140f7917","event":[{"listen":"prerequest","script":{"id":"8c83e909-2243-4bf2-98b6-539d804f5e75","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"397caa78-e488-41a7-ab01-cd4936f00e1c","type":"text/javascript","exec":[""]}}],"_postman_id":"28587086-c4c1-4e42-8d4e-c3e7140f7917","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"General Ledgers","item":[{"name":"Get General Ledgers","id":"280d8f94-0755-4d79-96cd-265d1d9069f1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/gl?cursor=0&limit=100&name=%office%&abbr=%off%&locations=1,163,2&gls=1,2,3&assets=1,2,3","description":"<p>This request returns your GLs in Limble.  </p>\n<p><b>Return data description</b></p>\n<table>\n    <thead>\n        <tr>\n            <th>Property</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>glID</td>\n            <td>The GL's unique identifier.</td>\n        </tr>\n        <tr>\n            <td>abbr</td>\n            <td>An abbreviation for the GL.</td>\n        </tr>\n        <tr>\n            <td>name</td>\n            <td>The full name of the GL.</td>\n        </tr>\n        <tr>\n            <td>locationID</td>\n            <td>Which Location this GL belongs to.</td>\n        </tr>\n        <tr>\n            <td>description</td>\n            <td>An optional bit of descriptive text for the GL.</td>\n        </tr>\n        <tr>\n            <td>assetID</td>\n            <td>Which Asset this GL belongs to.</td>\n        </tr>\n    </tbody>\n</table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","gl"],"host":["localhost"],"query":[{"description":{"content":"<p>This parameter is a cursor that selects what glID you want to start receiving results at. e.g. passing 137 here will only get you GLs with an ID greater than 137.</p>\n","type":"text/plain"},"key":"cursor","value":"0"},{"description":{"content":"<p>This parameter is a result limiter. The default is set to return no more than 100 results at one time.</p>\n","type":"text/plain"},"key":"limit","value":"100"},{"description":{"content":"<p>This is a parameter used to string search for a name or partial name of a GL. This parameter expects a string with the wildcard %.</p>\n","type":"text/plain"},"key":"name","value":"%office%"},{"description":{"content":"<p>This is a parameter used to string search for an abbreviation or partial abbreviation of a GL. This parameter expects a string with the wildcard %.</p>\n","type":"text/plain"},"key":"abbr","value":"%off%"},{"description":{"content":"<p>This parameter is used to only get GLs that are linked to a location. This parameter accepts a comma delimited list of location IDs.</p>\n","type":"text/plain"},"key":"locations","value":"1,163,2"},{"description":{"content":"<p>This parameter is used to only get specific GLs. This parameter accepts a comma delimited list of GL IDs.</p>\n","type":"text/plain"},"key":"gls","value":"1,2,3"},{"description":{"content":"<p>This parameter is used to only get GLs that are linked to an asset. This parameter accepts a comma delimited list of asset IDs.</p>\n","type":"text/plain"},"key":"assets","value":"1,2,3"}],"variable":[]}},"response":[{"id":"7bdc5b32-f7e6-460d-a3a7-633035530952","name":"Get General Ledgers","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/gl","protocol":"https","host":["localhost"],"port":"3000","path":["v2","gl"],"query":[{"key":"cursor","value":"0","description":"This parameter is a cursor that selects what glID you want to start receiving results at. e.g. passing 137 here will only get you GLs with an ID greater than 137.","type":"text","disabled":true},{"key":"limit","value":"100","description":"This parameter is a result limiter. The default is set to return no more than 100 results at one time.","type":"text","disabled":true},{"key":"name","value":"%office%","description":"This is a parameter used to string search for a name or partial name of a GL. This parameter expects a string with the wildcard %.","type":"text","disabled":true},{"key":"abbr","value":"%off%","description":"This is a parameter used to string search for an abbreviation or partial abbreviation of a GL. This parameter expects a string with the wildcard %.","disabled":true},{"key":"locations","value":"1,163,2","description":"This parameter is used to only get GLs that are linked to a location. This parameter accepts a comma delimited list of location IDs.","type":"text","disabled":true},{"key":"gls","value":"1,2,3","description":"This parameter is used to only get specific GLs. This parameter accepts a comma delimited list of GL IDs.","type":"text","disabled":true},{"key":"assets","value":"1,2,3","description":"This parameter is used to only get GLs that are linked to an asset. This parameter accepts a comma delimited list of asset IDs.","type":"text","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"94","enabled":true},{"key":"ETag","value":"W/\"5e-/HV2Fvv5APCE6//1pc594DQSPCc\"","enabled":true},{"key":"Date","value":"Thu, 07 Jan 2021 17:49:30 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"glID\": 1,\n        \"abbr\": \"OFF\",\n        \"name\": \"Office\",\n        \"locationID\": 234,\n        \"description\": \"Test\",\n        \"assetID\": 123\n    }\n]"}],"_postman_id":"280d8f94-0755-4d79-96cd-265d1d9069f1"},{"name":"New General Ledger","id":"ff8737c2-5a6a-469a-ae93-5c60ba7f789a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"locationID\": 63,\n    \"assetID\": 8895,\n    \"abbr\": \"OFF1\",\n    \"name\": \"Office 1\",\n    \"description\": \"Any general supplies for Office 1\"\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/gl","description":"<p>This request creates a new General Ledger.</p>\n<table>\n    <thead>\n        <tr>\n            <th>Parameter</th>\n            <th>Type</th>\n            <th>Required?</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>locationID</td>\n            <td>Int</td>\n            <td>Required</td>\n            <td>The ID of the location this GL will be created for.</td>\n        </tr>\n        <tr>\n            <td>assetID</td>\n            <td>Int</td>\n            <td>Required</td>\n            <td>The ID of the asset that this GL will be associated with.</td>\n        </tr>\n        <tr>\n            <td>abbr</td>\n            <td>String</td>\n            <td>Required</td>\n            <td>An short version of this GLs name.</td>\n        </tr>\n        <tr>\n            <td>name</td>\n            <td>String</td>\n            <td>Required</td>\n            <td>A full title for this GL.</td>\n        </tr>\n        <tr>\n            <td>description</td>\n            <td>String</td>\n            <td>Optional</td>\n            <td>Any further needed description for this GL.</td>\n        </tr>\n    </tbody>\n</table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","gl"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"2be56004-6f01-4fd0-aa38-2cec0e32742b","name":"New General Ledger","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"locationID\": 63,\n    \"assetID\": 8895,\n    \"abbr\": \"OFF1\",\n    \"name\": \"Office 1\",\n    \"description\": \"Any general supplies for Office 1\"\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/gl"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"16","enabled":true},{"key":"ETag","value":"W/\"10-oV4hJxRVSENxc/wX8+mA4/Pe4tA\"","enabled":true},{"key":"Date","value":"Fri, 08 Jan 2021 18:59:32 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"glID\": 6\n}"}],"_postman_id":"ff8737c2-5a6a-469a-ae93-5c60ba7f789a"},{"name":"Update General Ledger","id":"f1ed6b1d-5368-493c-b131-750331a03d56","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n    \"name\": \"Sanitation\",\n    \"abbr\": \"SAN\",\n    \"description\": \"Any supplies for the Sanitation Department\",\n    \"assetID\": 123\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/gl/:glID","description":"<p>This request updates a General Ledger.</p>\n<table>\n    <thead>\n        <tr>\n            <th>Parameter</th>\n            <th>Type</th>\n            <th>Required?</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>assetID</td>\n            <td>Int</td>\n            <td>Optional</td>\n            <td>The ID of the asset that this GL will be associated with. Must be a valid assetID that belongs to the current GL's location.</td>\n        </tr>\n        <tr>\n            <td>abbr</td>\n            <td>String</td>\n            <td>Optional</td>\n            <td>An new short version of this GLs name.</td>\n        </tr>\n        <tr>\n            <td>name</td>\n            <td>String</td>\n            <td>Optional</td>\n            <td>A new title for this GL.</td>\n        </tr>\n        <tr>\n            <td>description</td>\n            <td>String</td>\n            <td>Optional</td>\n            <td>Any further needed description for this GL.</td>\n        </tr>\n    </tbody>\n</table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","gl",":glID"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"4","key":"glID"}]}},"response":[{"id":"a0b25d60-0a02-4e50-869e-6fed3b487177","name":"Update General Ledger","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n    \"name\": \"Sanitation\",\n    \"abbr\": \"SAN\",\n    \"description\": \"Any supplies for the Sanitation Department\",\n    \"assetID\": 8895\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://localhost:3000/v2/gl/:glID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","gl",":glID"],"variable":[{"key":"glID","value":"4"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"16","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true\n}"}],"_postman_id":"f1ed6b1d-5368-493c-b131-750331a03d56"},{"name":"Delete General Ledger","id":"b9915254-572e-459e-b55d-1b5f4bec97a6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://localhost:3000/v2/gl/:glID","description":"<p>This request deletes a GL. If any PO Items are associated to this GL, their glID will be set to 0.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","gl",":glID"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"46","key":"glID"}]}},"response":[{"id":"36240041-903f-4ab7-9b0f-75d2387ba69b","name":"Delete General Ledger","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://localhost:3000/v2/gl/:glID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","gl",":glID"],"variable":[{"key":"glID","value":"46"}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Wed, 10 Feb 2021 22:27:15 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"b9915254-572e-459e-b55d-1b5f4bec97a6"}],"id":"b0da9b0b-a85a-4ffb-a1b5-576fecdf8010","event":[{"listen":"prerequest","script":{"id":"348a9271-1031-4195-a30f-8ba89f02943a","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"ecf7a5a0-a907-4d4c-b337-61b3cfb507f0","type":"text/javascript","exec":[""]}}],"_postman_id":"b0da9b0b-a85a-4ffb-a1b5-576fecdf8010","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Budgets","item":[{"name":"Steps","item":[{"name":"New Step","id":"9ff32572-5846-42b9-9a10-b1192ad9960d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"name\": \"Very important step\",\n    \"assignmentType\": \"user\",\n    \"assignment\": 341,\n    \"emailSend\": false,\n    \"allowPR\": true,\n    \"allowPOEdit\": true\n}\n","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/budgets/:budgetID/steps","description":"<p>This request creates a new Budget Step (sometimes called a PO Workflow Step).</p>\n<table>\n    <thead>\n        <tr>\n            <th>Parameter</th>\n            <th>Type</th>\n            <th>Required?</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>name</td>\n            <td>String</td>\n            <td>Required</td>\n            <td>The title of this budget.</td>\n        </tr>\n      <tr>\n            <td>assignmentType</td>\n            <td>Enum</td>\n            <td>Required</td>\n            <td>What type ('user' or 'team') should we interpret the assignment value as?</td>\n        </tr>\n        <tr>\n            <td>assignment</td>\n            <td>Int or Array of Ints</td>\n            <td>Required</td>\n            <td>When POs belonging to this step's budget enter this step, who will they be assigned to? If awaitingAssignmentType is 'team' then this <em>cannot be</em> an array, and may only be one number.</td>\n        </tr>\n      <tr>\n            <td>emailSend</td>\n            <td>Boolean</td>\n            <td>Required</td>\n            <td>When POs of this step's budget enter this step, should we send email notification(s)?</td>\n        </tr>\n        <tr>\n            <td>allowPOEdit</td>\n            <td>Boolean</td>\n            <td>Optional</td>\n            <td>When POs belonging to this step's budget are in this step, can the PO be edited?</td>\n        </tr>\n        <tr>\n            <td>allowPR</td>\n            <td>Boolean</td>\n            <td>Required</td>\n            <td>When POs belonging to this step's budget are in this step, can items be received?</td>\n        </tr>\n    </tbody>\n</table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","budgets",":budgetID","steps"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"1","key":"budgetID"}]}},"response":[{"id":"4c98ff8f-c2d9-40c8-8cbc-9a426aeca79b","name":"New Step","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"name\": \"Very important step\",\n    \"assignmentType\": \"user\",\n    \"assignment\": 341,\n    \"emailSend\": false,\n    \"allowPR\": true,\n    \"allowPOEdit\": true\n}\n","options":{"raw":{"language":"json"}}},"url":{"raw":"https://localhost:3000/v2/budgets/:budgetID/steps","protocol":"https","host":["localhost"],"port":"3000","path":["v2","budgets",":budgetID","steps"],"variable":[{"key":"budgetID","value":"1"}]}},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"23","enabled":true},{"key":"ETag","value":"W/\"17-UfBUaREte8v7lJ4Zpd+xFWJ39as\"","enabled":true},{"key":"Date","value":"Mon, 01 Feb 2021 19:03:40 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"stepID\": 97\n}"}],"_postman_id":"9ff32572-5846-42b9-9a10-b1192ad9960d"},{"name":"Delete Step","id":"972cdfe0-23f3-4106-b79a-b8d2f2a0fee9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://localhost:3000/v2/budgets/:budgetID/steps/:stepID","description":"<p>This request deletes a step from a budget.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","budgets",":budgetID","steps",":stepID"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"1","key":"budgetID"},{"type":"any","value":"2","key":"stepID"}]}},"response":[{"id":"0488a2f6-26f8-45e7-ace8-f7035a2c8490","name":"Delete Step","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://localhost:3000/v2/budgets/:budgetID/steps/:stepID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","budgets",":budgetID","steps",":stepID"],"variable":[{"key":"budgetID","value":"1"},{"key":"stepID","value":"1"}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Tue, 02 Feb 2021 18:25:02 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"972cdfe0-23f3-4106-b79a-b8d2f2a0fee9"},{"name":"Get Steps","id":"e0bc7b50-d5ab-4b0e-9e6b-0ba3254c5fcc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/budgets/steps?name=%test%&steps=1,2,3&budgets=158&locations=1,2,3&cursor=0&limit=100","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","budgets","steps"],"host":["localhost"],"query":[{"description":{"content":"<p>This is a parameter used to string search for a name or partial name of a budget. This parameter expects a string with the wildcard %.</p>\n","type":"text/plain"},"key":"name","value":"%test%"},{"description":{"content":"<p>This parameter is used to only get specific steps. This parameter accepts a comma delimited list of step IDs.</p>\n","type":"text/plain"},"key":"steps","value":"1,2,3"},{"description":{"content":"<p>This parameter is used to only get steps that are linked to a budget. This parameter accepts a comma delimited list of budget IDs.</p>\n","type":"text/plain"},"key":"budgets","value":"158"},{"description":{"content":"<p>This parameter is used to only get steps that are linked to a budget at a specific location. This parameter accepts a comma delimited list of location IDs.</p>\n","type":"text/plain"},"key":"locations","value":"1,2,3"},{"description":{"content":"<p>This parameter is a cursor that selects what stepID you want to start receiving results at. e.g. passing 137 here will only get you steps with an ID greater than 137.</p>\n","type":"text/plain"},"key":"cursor","value":"0"},{"description":{"content":"<p>This parameter is a result limiter. The default is set to return no more than 100 results at one time.</p>\n","type":"text/plain"},"key":"limit","value":"100"}],"variable":[]}},"response":[],"_postman_id":"e0bc7b50-d5ab-4b0e-9e6b-0ba3254c5fcc"},{"name":"Update Step","id":"5712e67f-af53-46a1-9fc8-4b23bdb455a1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n    \"name\": \"Get Approval\",\n    \"assignmentType\": \"user\",\n    \"assignment\": 1,\n    \"emailSend\": true,\n    \"allowPOEdit\": true,\n    \"allowPR\": false,\n    \"order\": 1\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/budgets/:budgetID/steps/:stepID","description":"<p>This request updates a Budget Step (sometimes called a PO Workflow Step).</p>\n<table>\n    <thead>\n        <tr>\n            <th>Parameter</th>\n            <th>Type</th>\n            <th>Required?</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>name</td>\n            <td>String</td>\n            <td>Optional</td>\n            <td>The title of this budget.</td>\n        </tr>\n      <tr>\n            <td>assignmentType</td>\n            <td>Enum</td>\n            <td>Optional</td>\n            <td>What type ('user' or 'team') should we interpret the assignment value as? This is required when the assignment property is present.</td>\n        </tr>\n        <tr>\n            <td>assignment</td>\n            <td>Int or Array of Ints</td>\n            <td>Optional</td>\n            <td>When POs belonging to this step's budget enter this step, who will they be assigned to? If awaitingAssignmentType is 'team' then this <em>cannot be</em> an array, and may only be one number. This is required when the assignmentType property is present.</td>\n        </tr>\n      <tr>\n            <td>emailSend</td>\n            <td>Boolean</td>\n            <td>Optional</td>\n            <td>When POs of this step's budget enter this step, should we send email notification(s)?</td>\n        </tr>\n        <tr>\n            <td>allowPOEdit</td>\n            <td>Boolean</td>\n            <td>Optional</td>\n            <td>When POs belonging to this step's budget are in this step, can the PO be edited?</td>\n        </tr>\n        <tr>\n            <td>allowPR</td>\n            <td>Boolean</td>\n            <td>Optional</td>\n            <td>When POs belonging to this step's budget are in this step, can items be received?</td>\n        </tr>\n        <tr>\n            <td>order</td>\n            <td>Int</td>\n            <td>Optional</td>\n            <td>For the order of steps in this step's budget, which position should this step be in?</td>\n        </tr>\n    </tbody>\n</table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","budgets",":budgetID","steps",":stepID"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"9","key":"budgetID"},{"type":"any","value":"10","key":"stepID"}]}},"response":[{"id":"a43aec1b-69ac-4f94-bab7-60fc53d8c2e0","name":"Update Step","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n    \"name\": \"Get Approval\",\n    \"assignmentType\": \"user\",\n    \"assignment\": 1,\n    \"emailSend\": true,\n    \"allowPOEdit\": true,\n    \"allowPR\": false,\n    \"order\": 1\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://localhost:3000/v2/budgets/:budgetID/steps/:stepID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","budgets",":budgetID","steps",":stepID"],"variable":[{"key":"budgetID","value":"1"},{"key":"stepID","value":"1"}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Fri, 05 Feb 2021 23:16:31 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"5712e67f-af53-46a1-9fc8-4b23bdb455a1"}],"id":"a0a3d4dd-5662-491f-a0e4-d29e9f752c82","_postman_id":"a0a3d4dd-5662-491f-a0e4-d29e9f752c82","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Get Budgets","id":"68d6a502-c8ca-4b66-8a62-f7582d801aa1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/budgets?cursor=0&limit=1&name=%General%&locations=1,2,3&budgets=1,2,3","description":"<p>This request returns your Budgets in Limble.  </p>\n<p><strong>Return data description</strong></p>\n<table>\n    <thead>\n        <tr>\n            <th>Property</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>budgetID</td>\n            <td>The Budget's unique identifier.</td>\n        </tr>\n        <tr>\n            <td>name</td>\n            <td>The full name of the Budget.</td>\n        </tr>\n        <tr>\n            <td>locationID</td>\n            <td>Which Location this Budget belongs to.</td>\n        </tr>\n    </tbody>\n</table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","budgets"],"host":["localhost"],"query":[{"description":{"content":"<p>This parameter is a cursor that selects what budgetID you want to start receiving results at. e.g. passing 137 here will only get you budgets with an ID greater than 137.</p>\n","type":"text/plain"},"key":"cursor","value":"0"},{"description":{"content":"<p>This parameter is a result limiter. The default is set to return no more than 100 results at one time.</p>\n","type":"text/plain"},"key":"limit","value":"1"},{"description":{"content":"<p>This is a parameter used to string search for a name or partial name of a budget. This parameter expects a string with the wildcard %.</p>\n","type":"text/plain"},"key":"name","value":"%General%"},{"description":{"content":"<p>This parameter is used to only get budgets that are linked to a location. This parameter accepts a comma delimited list of location IDs.</p>\n","type":"text/plain"},"key":"locations","value":"1,2,3"},{"description":{"content":"<p>This parameter is used to only get specific budgets. This parameter accepts a comma delimited list of budget IDs.</p>\n","type":"text/plain"},"key":"budgets","value":"1,2,3"}],"variable":[]}},"response":[{"id":"c31c81c2-0e0f-444e-b041-7dedbe3fad19","name":"Get Budgets","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/budgets?locations=1","protocol":"https","host":["localhost"],"port":"3000","path":["v2","budgets"],"query":[{"key":"cursor","value":"0","description":"This parameter is a cursor that selects what budgetID you want to start receiving results at. e.g. passing 137 here will only get you budgets with an ID greater than 137.","disabled":true},{"key":"limit","value":"1","description":"This parameter is a result limiter. The default is set to return no more than 100 results at one time.","disabled":true},{"key":"name","value":"%General%","description":"This is a parameter used to string search for a name or partial name of a budget. This parameter expects a string with the wildcard %.","disabled":true},{"key":"locations","value":"1","description":"This parameter is used to only get budgets that are linked to a location. This parameter accepts a comma delimited list of location IDs."},{"key":"budgets","value":"1,2,3","description":"This parameter is used to only get specific budgets. This parameter accepts a comma delimited list of budget IDs.","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"2555","enabled":true},{"key":"ETag","value":"W/\"9fb-/BTCFtkKaJCUeKDklS8g/0IZ3gA\"","enabled":true},{"key":"Date","value":"Thu, 04 Feb 2021 21:26:38 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"budgetID\": 1,\n        \"name\": \"General\",\n        \"locationID\": 1,\n        \"awaitingAllowPOEdit\": false,\n        \"awaitingUserID\": 0,\n        \"awaitingProfileID\": 437,\n        \"awaitingEmailSend\": true,\n        \"prUserID\": 0,\n        \"prProfileID\": 1,\n        \"prEmailSend\": true,\n        \"defaultBudget\": {\n            \"global\": true,\n            \"purchaseRequests\": false,\n            \"minPartQtyPOs\": true\n        },\n        \"meta\": {\n            \"steps\": \"/v2/budgets/steps?budgets=1\",\n            \"location\": \"/v2/locations?locations=1\"\n        }\n    },\n    {\n        \"budgetID\": 2,\n        \"name\": \"Purchase Request Budget\",\n        \"locationID\": 1,\n        \"awaitingAllowPOEdit\": true,\n        \"awaitingUserID\": 1,\n        \"awaitingProfileID\": 0,\n        \"awaitingEmailSend\": true,\n        \"prUserID\": 0,\n        \"prProfileID\": 0,\n        \"prEmailSend\": true,\n        \"defaultBudget\": {\n            \"global\": false,\n            \"purchaseRequests\": true,\n            \"minPartQtyPOs\": false\n        },\n        \"meta\": {\n            \"steps\": \"/v2/budgets/steps?budgets=2\",\n            \"location\": \"/v2/locations?locations=1\"\n        }\n    }\n]"}],"_postman_id":"68d6a502-c8ca-4b66-8a62-f7582d801aa1"},{"name":"New Budget","id":"e1895a54-eae6-4301-aea9-bcce4949db76","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n   \"locationID\": 163,\n   \"name\": \"Awesome Test Budget\",\n   \"awaitingAllowPOEdit\": true,\n   \"awaitingEmailSend\": true,\n   \"awaitingAssignmentType\": \"team\",\n   \"awaitingAssignment\": 437,\n   \"prEmailSend\": true,\n   \"prAssignmentType\": \"team\",\n   \"prAssignment\": 437,\n   \"defaultBudget\": {\n     \"global\": true,\n     \"purchaseRequests\": true,\n     \"minPartQtyPOs\": true\n   }\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/budgets","description":"<p>This request creates a new Budget.</p>\n<table>\n    <thead>\n        <tr>\n            <th>Parameter</th>\n            <th>Type</th>\n            <th>Required?</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>locationID</td>\n            <td>Int</td>\n            <td>Required</td>\n            <td>The ID of the location this budget will belong to.</td>\n        </tr>\n        <tr>\n            <td>name</td>\n            <td>String</td>\n            <td>Required</td>\n            <td>The title of this budget.</td>\n        </tr>\n        <tr>\n            <td>awaitingAllowPOEdit</td>\n            <td>Boolean</td>\n            <td>Required</td>\n            <td>When POs belonging to this budget are in the \"ready to receive\" state, will they be editable?</td>\n        </tr>\n        <tr>\n            <td>awaitingEmailSend</td>\n            <td>Boolean</td>\n            <td>Required</td>\n            <td>When POs belonging to this budget enter the \"ready to receive\" state, should the assignee(s) be emailed?</td>\n        </tr>\n        <tr>\n            <td>awaitingAssignmentType</td>\n            <td>Enum</td>\n            <td>Required</td>\n            <td>What type ('user' or 'team') should we interpret the awaitingAssignment value as?</td>\n        </tr>\n        <tr>\n            <td>awaitingAssignment</td>\n            <td>Int or Array of Ints</td>\n            <td>Required</td>\n            <td>When POs belonging to this budget enter the \"ready to receive\" state, who will they be assigned to? If awaitingAssignmentType is 'team' then this <em>cannot be</em> an array, and may only be one number.</td>\n        </tr>\n        <tr>\n            <td>prEmailSend</td>\n            <td>Boolean</td>\n            <td>Required</td>\n            <td>When PO items are received on POs that belong to this budget in the \"ready to receive\" or \"partially received\" states, should we send email notification(s)?</td>\n        </tr>\n        <tr>\n            <td>prAssignmentType</td>\n            <td>Enum</td>\n            <td>Required</td>\n            <td>What type ('user' or 'team') should we interpret the prAssignment value as?</td>\n        </tr>\n        <tr>\n            <td>prAssignment</td>\n            <td>Int or Array of Ints</td>\n            <td>Required</td>\n            <td>When bills are generated for PO items on POs that belong to this budget, who should the bills be assigned to? If prAssignmentType is 'team' then this <em>cannot be</em> an array, and may only be one number.</td>\n        </tr>\n        <tr>\n            <td>defaultBudget</td>\n            <td>Object</td>\n            <td>Required</td>\n            <td>An object containing Boolean flags for global, purchaseRequests, and minPartQtyPOs. Setting any of these flags to true will set the same value for any other budgets at this location to false (we cannot have two default budgets). All properties of this object are required.\n            <ul>\n               <li>global: Should this be the default budget for this location?</li>\n               <li>purchaseRequests: When purchase requests are created from tasks, should this be the default budget?</li>\n               <li>minPartQtyPOs: When a PO is automatically created due to part quantity threshold, should this be the default budget?</li>\n            </ul>\n         </td>\n        </tr>\n    </tbody>\n</table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","budgets"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"039af2b6-84f6-424e-8cdc-29bc9b177279","name":"New Budget","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n   \"locationID\": 163,\n   \"name\": \"Awesome Test Budget\",\n   \"awaitingAllowPOEdit\": true,\n   \"awaitingEmailSend\": true,\n   \"awaitingAssignmentType\": \"team\",\n   \"awaitingAssignment\": 437,\n   \"prEmailSend\": true,\n   \"prAssignmentType\": \"team\",\n   \"prAssignment\": 437,\n   \"defaultBudget\": {\n     \"global\": true,\n     \"purchaseRequests\": true,\n     \"minPartQtyPOs\": true\n   }\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/budgets"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"15","enabled":true},{"key":"ETag","value":"W/\"f-FYdn87D3Hub/osImGrgZlpDvPLw\"","enabled":true},{"key":"Date","value":"Fri, 29 Jan 2021 22:49:17 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"budgetID\": 98\n}"}],"_postman_id":"e1895a54-eae6-4301-aea9-bcce4949db76"},{"name":"Delete Budget","id":"06f822ce-ca92-432f-b485-6848eebe390e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://localhost:3000/v2/budgets/:budgetID","description":"<p>This request deletes a budget.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","budgets",":budgetID"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"1","key":"budgetID"}]}},"response":[{"id":"74b87a03-afcb-4f89-9a45-377a6d1178ec","name":"Delete Budget","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://localhost:3000/v2/budgets/:budgetID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","budgets",":budgetID"],"variable":[{"key":"budgetID","value":"1"}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Tue, 02 Feb 2021 18:25:58 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"06f822ce-ca92-432f-b485-6848eebe390e"},{"name":"Update Budget","id":"cc7a2fe4-bdf2-4bf3-a959-f72cc87dc684","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n    \"name\": \"Extremely Cool Budget\",\n    \"awaitingAllowPOEdit\": false,\n    \"awaitingEmailSend\": false,\n    \"awaitingAssignmentType\": \"team\",\n    \"awaitingAssignment\": 1,\n    \"prEmailSend\": false,\n    \"prAssignmentType\": \"user\",\n    \"prAssignment\": [1, 2, 3],\n    \"defaultBudget\": {\n        \"global\": true,\n        \"purchaseRequests\": false,\n        \"minPartQtyPOs\": true\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/budgets/:budgetID","description":"<p>This request updates an existing Budget.</p>\n<table>\n    <thead>\n        <tr>\n            <th>Parameter</th>\n            <th>Type</th>\n            <th>Required?</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>name</td>\n            <td>String</td>\n            <td>Optional</td>\n            <td>The title of this budget.</td>\n        </tr>\n        <tr>\n            <td>awaitingAllowPOEdit</td>\n            <td>Boolean</td>\n            <td>Optional</td>\n            <td>When POs belonging to this budget are in the \"ready to receive\" state, will they be editable?</td>\n        </tr>\n        <tr>\n            <td>awaitingEmailSend</td>\n            <td>Boolean</td>\n            <td>Optional</td>\n            <td>When POs belonging to this budget enter the \"ready to receive\" state, should the assignee(s) be emailed?</td>\n        </tr>\n        <tr>\n            <td>awaitingAssignmentType</td>\n            <td>Enum</td>\n            <td>Optional</td>\n            <td>What type ('user' or 'team') should we interpret the awaitingAssignment value as? Required when awaitingAssignment is provided.</td>\n        </tr>\n        <tr>\n            <td>awaitingAssignment</td>\n            <td>Int or Array of Ints</td>\n            <td>Optional</td>\n            <td>When POs belonging to this budget enter the \"ready to receive\" state, who will they be assigned to? If awaitingAssignmentType is 'team' then this <em>cannot be</em> an array, and may only be one number. Required when awaitingAssignmentType is provided.</td>\n        </tr>\n        <tr>\n            <td>prEmailSend</td>\n            <td>Boolean</td>\n            <td>Optional</td>\n            <td>When PO items are received on POs that belong to this budget in the \"ready to receive\" or \"partially received\" states, should we send email notification(s)?</td>\n        </tr>\n        <tr>\n            <td>prAssignmentType</td>\n            <td>Enum</td>\n            <td>Optional</td>\n            <td>What type ('user' or 'team') should we interpret the prAssignment value as? Required when prAssignment is provided.</td>\n        </tr>\n        <tr>\n            <td>prAssignment</td>\n            <td>Int or Array of Ints</td>\n            <td>Optional</td>\n            <td>When bills are generated for PO items on POs that belong to this budget, who should the bills be assigned to? If prAssignmentType is 'team' then this <em>cannot be</em> an array, and may only be one number. Required when prAssignmentType is provided.</td>\n        </tr>\n        <tr>\n            <td>defaultBudget</td>\n            <td>Object</td>\n            <td>Optional</td>\n            <td>An object containing Boolean flags for global, purchaseRequests, and minPartQtyPOs. Setting any of these flags to true will set the same value for any other budgets at this location to false (we cannot have two default budgets). All properties of this object are required when the object is provided.\n            <ul>\n               <li>global: Should this be the default budget for this location?</li>\n               <li>purchaseRequests: When purchase requests are created from tasks, should this be the default budget?</li>\n               <li>minPartQtyPOs: When a PO is automatically created due to part quantity threshold, should this be the default budget?</li>\n            </ul>\n         </td>\n        </tr>\n    </tbody>\n</table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","budgets",":budgetID"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"1","key":"budgetID"}]}},"response":[{"id":"75eb6afb-c7f2-4dfa-bd1a-57db6c4b22b5","name":"Update Budget","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n    \"name\": \"Extremely Cool Budget\",\n    \"awaitingAllowPOEdit\": false,\n    \"awaitingEmailSend\": false,\n    \"awaitingAssignmentType\": \"team\",\n    \"awaitingAssignment\": 12,\n    \"prEmailSend\": false,\n    \"prAssignmentType\": \"user\",\n    \"prAssignment\": [1, 2, 3],\n    \"defaultBudget\": {\n        \"global\": true,\n        \"purchaseRequests\": false,\n        \"minPartQtyPOs\": true\n    }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://localhost:3000/v2/budgets/:budgetID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","budgets",":budgetID"],"variable":[{"key":"budgetID","value":"1"}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Wed, 03 Feb 2021 19:12:23 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"cc7a2fe4-bdf2-4bf3-a959-f72cc87dc684"}],"id":"42b68d9b-3bbe-4d3a-9a73-00b158fd6392","_postman_id":"42b68d9b-3bbe-4d3a-9a73-00b158fd6392","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Priorities","item":[{"name":"Get Priorities","id":"cbee5846-69fa-4363-95c4-622439ad8d46","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/priorities?priorities=118","description":"<p>This request returns your priorities in Limble.  </p>\n<p><strong>Return data description</strong></p>\n<table>\n    <thead>\n        <tr>\n            <th>Property</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>priorityID</td>\n            <td>The priority's unique identifier.</td>\n        </tr>\n        <tr>\n            <td>name</td>\n            <td>The full name of the priority.</td>\n        </tr>\n        <tr>\n            <td>priorityLevel</td>\n            <td>A number representing ordering or indicator of severity.</td>\n        </tr>\n        <tr>\n            <td>color</td>\n            <td>A hex-color string that will be used to color tasks associated to this priority.</td>\n        </tr>\n        <tr>\n            <td>isDefault</td>\n            <td>A boolean representing whether or not this is the priority that will be associated to tasks by default.</td>\n        </tr>\n    </tbody>\n</table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","priorities"],"host":["localhost"],"query":[{"key":"priorities","value":"118"}],"variable":[]}},"response":[{"id":"9a6b564b-338b-44b1-80d4-94d5b50d39aa","name":"Get Priorities","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/priorities","protocol":"https","host":["localhost"],"port":"3000","path":["v2","priorities"],"query":[{"key":"priorities","value":"118","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"749","enabled":true},{"key":"ETag","value":"W/\"2ed-wGW7z/uEBN6/uL445Co7poqxPUI\"","enabled":true},{"key":"Date","value":"Tue, 23 Mar 2021 21:22:17 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"priorityID\": 8,\n        \"name\": \"Ultra Low\",\n        \"priorityLevel\": 4,\n        \"color\": \"#000000\",\n        \"isDefault\": false\n    },\n    {\n        \"priorityID\": 9,\n        \"name\": \"Low Priority\",\n        \"priorityLevel\": 1,\n        \"color\": \"#429b1f\",\n        \"isDefault\": false\n    },\n    {\n        \"priorityID\": 10,\n        \"name\": \"Medium Priority\",\n        \"priorityLevel\": 2,\n        \"color\": \"#ef6a00\",\n        \"isDefault\": false\n    },\n    {\n        \"priorityID\": 11,\n        \"name\": \"Medium Priority\",\n        \"priorityLevel\": 3,\n        \"color\": \"#ef6a00\",\n        \"isDefault\": false\n    },\n    {\n        \"priorityID\": 12,\n        \"name\": \"High Priority\",\n        \"priorityLevel\": 5,\n        \"color\": \"#c22528\",\n        \"isDefault\": false\n    },\n    {\n        \"priorityID\": 13,\n        \"name\": \"High Priority\",\n        \"priorityLevel\": 6,\n        \"color\": \"#c22528\",\n        \"isDefault\": false\n    },\n    {\n        \"priorityID\": 14,\n        \"name\": \"On Hold\",\n        \"priorityLevel\": 7,\n        \"color\": \"#f1c40f\",\n        \"isDefault\": false\n    }\n]"}],"_postman_id":"cbee5846-69fa-4363-95c4-622439ad8d46"},{"name":"Update Priority","id":"0fd6c3dd-c4f1-45e9-8191-e338d78e4fd4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n    \"name\": \"On Hold\",\n    \"isDefault\": true\n}\n","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/priorities/:priorityID","description":"<p>This request updates a Priority.</p>\n<p><strong>When providing priorityLevel or isDefault, calls to this endpoint may reorder or otherwise adjust</strong> <em><strong>other</strong></em> <strong>priorities.</strong></p>\n<table><tbody><tr><th>Parameter</th><th>Type</th><th>Required?</th><th>Description</th></tr><tr><td><div>name</div><div><div><div><div></div></div></div><div></div></div></td><td><div>String</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The title of this priority.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>priorityLevel</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Int</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>What level is this priority? When moving a priority to a different priorityLevel, be mindful that this will shift other priorities' priorityLevels in order to accommodate this change. If provided, this can only be between the numbers 1 and the current highest priorityLevel.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>color</div><div><div><div><div></div></div></div><div></div></div></td><td><div>String</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>This is the color that will be shown on all tasks with this priority.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>isDefault</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Boolean</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Optional</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Should this be the default priority that tasks are assigned to when a priority is not specified? When setting this to true, any other priorities whose isDefault is true will have it set to false.</div><div><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","priorities",":priorityID"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"1191","key":"priorityID"}]}},"response":[{"id":"7c35000b-8132-49b8-aea7-5560600cb383","name":"Update Priority","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n    \"name\": \"Extremely Gnarly\",\n    \"priorityLevel\": 5,\n    \"color\": \"#ff0000\",\n    \"isDefault\": true\n}\n","options":{"raw":{"language":"json"}}},"url":{"raw":"https://localhost:3000/v2/priorities/:priorityID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","priorities",":priorityID"],"variable":[{"key":"priorityID","value":"9"}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Tue, 23 Mar 2021 21:28:42 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"0fd6c3dd-c4f1-45e9-8191-e338d78e4fd4"},{"name":"New Priority","id":"fc64539c-9f8d-4159-b386-7b8ae6a46726","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"name\": \"Super Extreme\",\n    \"priorityLevel\": 5,\n    \"color\": \"#000000\",\n    \"isDefault\": true\n}\n","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/priorities","description":"<p>This request creates a new Priority.</p>\n<p><strong>When providing priorityLevel or isDefault, calls to this endpoint may reorder or otherwise adjust <em>other</em> priorities.</strong></p>\n<table>\n    <thead>\n        <tr>\n            <th>Parameter</th>\n            <th>Type</th>\n            <th>Required?</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>name</td>\n            <td>String</td>\n            <td>Required</td>\n            <td>The title of this priority.</td>\n        </tr>\n        <tr>\n            <td>priorityLevel</td>\n            <td>Int</td>\n            <td>Required</td>\n            <td>What level is this priority? If we're inserting a priority in the middle of the levels, priorities with a priorityLevel equal-to or greater-than the specified priorityLevel will have their priorityLevel incremented by one. This can only be between the numbers 1 and the current highest priorityLevel + 1.</td>\n        </tr>\n        <tr>\n            <td>color</td>\n            <td>String</td>\n            <td>Optional</td>\n            <td>This is the color that will be shown on all tasks with this priority. Default is #429b1f</td>\n        </tr>\n        <tr>\n            <td>isDefault</td>\n            <td>Boolean</td>\n            <td>Optional</td>\n            <td>Should this be the default priority that tasks are assigned to when a priority is not specified? Default is false. If isDefault is true, then any other priorities will have their isDefault set to false.</td>\n        </tr>\n    </tbody>\n</table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","priorities"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"54c64f4f-2e93-4124-b458-323ddc0cb454","name":"New Priority","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"name\": \"Super Extreme\",\n    \"priorityLevel\": 5,\n    \"color\": \"#000000\",\n    \"isDefault\": true\n}\n","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/priorities"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"18","enabled":true},{"key":"ETag","value":"W/\"12-an+BZYda15gv3ObjJDuEcKPwesY\"","enabled":true},{"key":"Date","value":"Tue, 23 Mar 2021 20:50:44 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"priorityID\": 113\n}"}],"_postman_id":"fc64539c-9f8d-4159-b386-7b8ae6a46726"},{"name":"Delete Priority","id":"0c834487-3704-487c-8408-d2862334499f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/priorities/:priorityID","description":"<p>This call simply removes a priority from Limble.</p>\n<p><strong>Things to keep in mind when using this endpoint:</strong>\n</p><ul>\n    <li>\n        Calls to this endpoint will potentially adjust other priorities' priorityLevels.\n    </li>\n    <li>If you delete a priority that isDefault, you will not have a default priority anymore, and that may cause issues.</li>\n    <li>If you delete a priority that has tasks associated to it, those tasks will have their priority removed.</li>\n</ul><p></p>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","priorities",":priorityID"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"8","key":"priorityID"}]}},"response":[{"id":"b1716b39-eaf9-4d74-8c14-81bc5c09ab92","name":"Delete Priority","originalRequest":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":{"raw":"https://localhost:3000/v2/priorities/:priorityID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","priorities",":priorityID"],"variable":[{"key":"priorityID","value":"8"}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Tue, 23 Mar 2021 21:27:33 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"0c834487-3704-487c-8408-d2862334499f"}],"id":"02dfd738-6691-4a7a-ae4f-233b21ab25b1","_postman_id":"02dfd738-6691-4a7a-ae4f-233b21ab25b1","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Tags","item":[{"name":"Get Tags","id":"7d74ef54-cfc4-4b47-acc2-206f697ea8b5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/tags?name=safety","description":"<p>This request returns your tags in Limble.</p>\n<p><strong>Return data description</strong></p>\n<table>\n    <thead>\n        <tr>\n            <th>Property</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>name</td>\n            <td>A search-string for tags.</td>\n        </tr>\n    </tbody>\n</table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","tags"],"host":["localhost"],"query":[{"key":"name","value":"safety"}],"variable":[]}},"response":[{"id":"55963190-c47b-4e88-af79-9e0da4e2d4e2","name":"Get Tags","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/tags?name=safety","protocol":"https","host":["localhost"],"port":"3000","path":["v2","tags"],"query":[{"key":"name","value":"safety"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"11","enabled":true},{"key":"ETag","value":"W/\"b-jPbiC1vIYhVT+GFfQlqyDpdqFWg\"","enabled":true},{"key":"Date","value":"Mon, 12 Apr 2021 18:27:58 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    \"@Safety\"\n]"}],"_postman_id":"7d74ef54-cfc4-4b47-acc2-206f697ea8b5"},{"name":"Create Account Tag","id":"26d74aea-2e6c-42f3-baa3-d399fcebea8f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"@Food Safety\"\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/tags","description":"<p>Creates a new account-level custom tag. The tag is normalized and validated before creation.</p>\n<p><strong>Request Body:</strong></p>\n<ul>\n<li><code>name</code> (string, required) - Tag name with or without leading '@', must not contain ';'</li>\n</ul>\n<p><strong>Response (200 OK):</strong></p>\n<ul>\n<li><code>created</code> (boolean) - Always true on success</li>\n<li><code>name</code> (string) - Canonical tag name without trailing ';' (e.g., <code>@Food Safety</code>)</li>\n<li><code>sanitizations</code> (array, optional) - List of normalization actions applied</li>\n<li><code>tags</code> (array) - All account tags in canonical format with trailing ';'</li>\n</ul>\n<p><strong>Normalization Rules:</strong></p>\n<ul>\n<li>Semicolons ';' are rejected (not allowed in input)</li>\n<li>Internal '@' characters removed, single leading '@' added</li>\n<li>Backslashes removed</li>\n<li>Commas converted to spaces</li>\n<li>Whitespace collapsed</li>\n<li>CR/LF and NBSP normalized to spaces</li>\n<li>ASCII control characters removed</li>\n</ul>\n<p><strong>Error Responses:</strong></p>\n<ul>\n<li>400 Bad Request - Invalid input (contains ';' or normalizes to empty)</li>\n<li>409 Conflict - Tag already exists (case-insensitive comparison)</li>\n</ul>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","tags"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"67e0b6e2-9192-40e6-89c1-6fc04ddd8172","name":"200 OK - Created","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"@Food Safety\"\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/tags","description":"Creates a new account-level custom tag. The tag is normalized and validated before creation.\n\n**Request Body:**\n- `name` (string, required) - Tag name with or without leading '@', must not contain ';'\n\n**Response (200 OK):**\n- `created` (boolean) - Always true on success\n- `name` (string) - Canonical tag name without trailing ';' (e.g., `@Food Safety`)\n- `sanitizations` (array, optional) - List of normalization actions applied\n- `tags` (array) - All account tags in canonical format with trailing ';'\n\n**Normalization Rules:**\n- Semicolons ';' are rejected (not allowed in input)\n- Internal '@' characters removed, single leading '@' added\n- Backslashes removed\n- Commas converted to spaces\n- Whitespace collapsed\n- CR/LF and NBSP normalized to spaces\n- ASCII control characters removed\n\n**Error Responses:**\n- 400 Bad Request - Invalid input (contains ';' or normalizes to empty)\n- 409 Conflict - Tag already exists (case-insensitive comparison)"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"created\": true,\n  \"name\": \"@Food Safety\",\n  \"sanitizations\": [],\n  \"tags\": [\n    \"@Food Safety;\",\n    \"@Safety;\",\n    \"@Quality;\"\n  ]\n}"},{"id":"03d03310-9a92-49fb-82cc-f3e0e5f9d2d8","name":"200 OK - Created with Sanitization","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"@Food Safety\"\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/tags","description":"Creates a new account-level custom tag. The tag is normalized and validated before creation.\n\n**Request Body:**\n- `name` (string, required) - Tag name with or without leading '@', must not contain ';'\n\n**Response (200 OK):**\n- `created` (boolean) - Always true on success\n- `name` (string) - Canonical tag name without trailing ';' (e.g., `@Food Safety`)\n- `sanitizations` (array, optional) - List of normalization actions applied\n- `tags` (array) - All account tags in canonical format with trailing ';'\n\n**Normalization Rules:**\n- Semicolons ';' are rejected (not allowed in input)\n- Internal '@' characters removed, single leading '@' added\n- Backslashes removed\n- Commas converted to spaces\n- Whitespace collapsed\n- CR/LF and NBSP normalized to spaces\n- ASCII control characters removed\n\n**Error Responses:**\n- 400 Bad Request - Invalid input (contains ';' or normalizes to empty)\n- 409 Conflict - Tag already exists (case-insensitive comparison)"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"created\": true,\n  \"name\": \"@Food Safety\",\n  \"sanitizations\": [\n    \"Commas are converted to spaces.\",\n    \"Multiple @ characters collapsed to one.\"\n  ],\n  \"tags\": [\n    \"@Food Safety;\",\n    \"@Safety;\"\n  ]\n}"}],"_postman_id":"26d74aea-2e6c-42f3-baa3-d399fcebea8f"},{"name":"Rename Account Tag","id":"efe9a45d-d4ce-40ad-b14d-1f8e792129a4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"oldName\": \"@Food Safety\",\n  \"newName\": \"@Food & Safety\"\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/tags","description":"<p>Renames an account-level custom tag.  </p>\n<p><strong>IMPORTANT NOTE:</strong> The change propagates to all data entities using this tag (Tasks, dashboards, notifications, etc).</p>\n<p><strong>Request Body:</strong></p>\n<ul>\n<li><p><code>oldName</code> (string, required) - Existing tag name (with or without '@', without trailing ';')</p>\n</li>\n<li><p><code>newName</code> (string, required) - New tag name (with or without '@', without trailing ';')</p>\n</li>\n</ul>\n<p><strong>Response (200 OK):</strong></p>\n<ul>\n<li><p><code>renamed</code> (boolean) - Always true on success</p>\n</li>\n<li><p><code>from</code> (string) - Old canonical tag name without trailing ';'</p>\n</li>\n<li><p><code>to</code> (string) - New canonical tag name without trailing ';'</p>\n</li>\n<li><p><code>tags</code> (array) - All account tags in canonical format with trailing ';'</p>\n</li>\n</ul>\n<p><strong>Validation:</strong></p>\n<ul>\n<li><p>Old tag must exist (case-insensitive)</p>\n</li>\n<li><p>New tag must not exist (case-insensitive)</p>\n</li>\n<li><p>Semicolons not allowed in input</p>\n</li>\n<li><p>Both names subject to normalization rules</p>\n</li>\n</ul>\n<p><strong>Error Responses:</strong></p>\n<ul>\n<li><p>400 Bad Request - Invalid input (contains ';' or normalizes to empty)</p>\n</li>\n<li><p>404 Not Found - Old tag does not exist</p>\n</li>\n<li><p>409 Conflict - New tag name already exists</p>\n</li>\n</ul>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","tags"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"7558678d-5c18-4ff3-8c63-b370ff09f56b","name":"200 OK - Renamed","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"oldName\": \"@Food Safety\",\n  \"newName\": \"@Food & Safety\"\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/tags","description":"Renames an account-level custom tag.  \n  \n**IMPORTANT NOTE:** The change propagates to all data entities using this tag (Tasks, dashboards, notifications, etc).\n\n**Request Body:**\n\n- `oldName` (string, required) - Existing tag name (with or without '@', without trailing ';')\n    \n- `newName` (string, required) - New tag name (with or without '@', without trailing ';')\n    \n\n**Response (200 OK):**\n\n- `renamed` (boolean) - Always true on success\n    \n- `from` (string) - Old canonical tag name without trailing ';'\n    \n- `to` (string) - New canonical tag name without trailing ';'\n    \n- `tags` (array) - All account tags in canonical format with trailing ';'\n    \n\n**Validation:**\n\n- Old tag must exist (case-insensitive)\n    \n- New tag must not exist (case-insensitive)\n    \n- Semicolons not allowed in input\n    \n- Both names subject to normalization rules\n    \n\n**Error Responses:**\n\n- 400 Bad Request - Invalid input (contains ';' or normalizes to empty)\n    \n- 404 Not Found - Old tag does not exist\n    \n- 409 Conflict - New tag name already exists"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"renamed\": true,\n  \"from\": \"@Food Safety\",\n  \"to\": \"@Food & Safety\",\n  \"tags\": [\n    \"@Food & Safety;\",\n    \"@Quality;\",\n    \"@Safety;\"\n  ]\n}"},{"id":"40eb2a28-74c3-4cb7-a82b-70e4acd4097f","name":"404 Not Found - Tag Doesn't Exist","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"oldName\": \"@Food Safety\",\n  \"newName\": \"@Food & Safety\"\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/tags","description":"Renames an account-level custom tag.  \n  \n**IMPORTANT NOTE:** The change propagates to all data entities using this tag (Tasks, dashboards, notifications, etc).\n\n**Request Body:**\n\n- `oldName` (string, required) - Existing tag name (with or without '@', without trailing ';')\n    \n- `newName` (string, required) - New tag name (with or without '@', without trailing ';')\n    \n\n**Response (200 OK):**\n\n- `renamed` (boolean) - Always true on success\n    \n- `from` (string) - Old canonical tag name without trailing ';'\n    \n- `to` (string) - New canonical tag name without trailing ';'\n    \n- `tags` (array) - All account tags in canonical format with trailing ';'\n    \n\n**Validation:**\n\n- Old tag must exist (case-insensitive)\n    \n- New tag must not exist (case-insensitive)\n    \n- Semicolons not allowed in input\n    \n- Both names subject to normalization rules\n    \n\n**Error Responses:**\n\n- 400 Bad Request - Invalid input (contains ';' or normalizes to empty)\n    \n- 404 Not Found - Old tag does not exist\n    \n- 409 Conflict - New tag name already exists"},"status":"Not Found","code":404,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"message\": \"Tag not found\"\n}"}],"_postman_id":"efe9a45d-d4ce-40ad-b14d-1f8e792129a4"},{"name":"Delete Account Tag","id":"8812b4b7-f644-4c3a-ab9d-770b4c77c21c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://localhost:3000/v2/tags/:tagName","description":"<p>Deletes an account-level custom tag.</p>\n<p><strong>IMPORTANT NOTE:</strong> The change propagates to all data entities using this tag (Tasks, dashboards, notifications, etc).</p>\n<p><strong>Path Parameters:</strong></p>\n<ul>\n<li><code>tagName</code> (string, required) - Tag name to delete (with or without '@', without trailing ';')<ul>\n<li>URL encode special characters (e.g., <code>@Food Safety</code> for <code>@Food Safety</code>)</li>\n</ul>\n</li>\n</ul>\n<p><strong>Response (200 OK):</strong></p>\n<ul>\n<li><p><code>deleted</code> (boolean) - Always true on success</p>\n</li>\n<li><p><code>name</code> (string) - Canonical tag name that was deleted (without trailing ';')</p>\n</li>\n<li><p><code>tags</code> (array) - Remaining account tags in canonical format with trailing ';'</p>\n</li>\n</ul>\n<p><strong>Validation:</strong></p>\n<ul>\n<li><p>Tag must exist (case-insensitive)</p>\n</li>\n<li><p>Tag name subject to normalization for matching</p>\n</li>\n</ul>\n<p><strong>Error Responses:</strong></p>\n<ul>\n<li>404 Not Found - Tag does not exist</li>\n</ul>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","tags",":tagName"],"host":["localhost"],"query":[],"variable":[{"id":"64f2c33a-34f3-472a-93fd-80cc6ee7f778","description":{"content":"<p>Tag name to delete (URL encode spaces and special characters)</p>\n","type":"text/plain"},"type":"any","value":"@Food Safety","key":"tagName"}]}},"response":[{"id":"fe3befc7-f29a-4ac1-9a47-5c14ca019841","name":"200 OK - Deleted","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://localhost:3000/v2/tags/:tagName","protocol":"https","host":["localhost"],"port":"3000","path":["v2","tags",":tagName"],"variable":[{"key":"tagName","value":"@Food Safety","description":"Tag name to delete (URL encode spaces and special characters)"}]},"description":"Deletes an account-level custom tag.\n\n**IMPORTANT NOTE:** The change propagates to all data entities using this tag (Tasks, dashboards, notifications, etc).\n\n**Path Parameters:**\n\n- `tagName` (string, required) - Tag name to delete (with or without '@', without trailing ';')\n    - URL encode special characters (e.g., `@Food Safety` for `@Food Safety`)\n        \n\n**Response (200 OK):**\n\n- `deleted` (boolean) - Always true on success\n    \n- `name` (string) - Canonical tag name that was deleted (without trailing ';')\n    \n- `tags` (array) - Remaining account tags in canonical format with trailing ';'\n    \n\n**Validation:**\n\n- Tag must exist (case-insensitive)\n    \n- Tag name subject to normalization for matching\n    \n\n**Error Responses:**\n\n- 404 Not Found - Tag does not exist"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"deleted\": true,\n  \"name\": \"@Food Safety\",\n  \"tags\": [\n    \"@Quality;\",\n    \"@Safety;\"\n  ]\n}"},{"id":"0de0c631-415c-4334-b98d-a33aa2f4412e","name":"404 Not Found","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://localhost:3000/v2/tags/:tagName","protocol":"https","host":["localhost"],"port":"3000","path":["v2","tags",":tagName"],"variable":[{"key":"tagName","value":"@Food Safety","description":"Tag name to delete (URL encode spaces and special characters)"}]},"description":"Deletes an account-level custom tag.\n\n**IMPORTANT NOTE:** The change propagates to all data entities using this tag (Tasks, dashboards, notifications, etc).\n\n**Path Parameters:**\n\n- `tagName` (string, required) - Tag name to delete (with or without '@', without trailing ';')\n    - URL encode special characters (e.g., `@Food Safety` for `@Food Safety`)\n        \n\n**Response (200 OK):**\n\n- `deleted` (boolean) - Always true on success\n    \n- `name` (string) - Canonical tag name that was deleted (without trailing ';')\n    \n- `tags` (array) - Remaining account tags in canonical format with trailing ';'\n    \n\n**Validation:**\n\n- Tag must exist (case-insensitive)\n    \n- Tag name subject to normalization for matching\n    \n\n**Error Responses:**\n\n- 404 Not Found - Tag does not exist"},"status":"Not Found","code":404,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"message\": \"Tag not found\"\n}"}],"_postman_id":"8812b4b7-f644-4c3a-ab9d-770b4c77c21c"}],"id":"71250406-7a2f-42bd-b35c-e4de2a5f6d0c","_postman_id":"71250406-7a2f-42bd-b35c-e4de2a5f6d0c","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Statuses","item":[{"name":"Statuses","id":"0dee70d2-1835-4b4c-b12a-7018966ed364","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/statuses?limit=3&cursor=1&name=%ogr%&statuses=1","description":"<p>This request returns your custom task statuses in Limble.</p>\n<p><strong>Return data description</strong></p>\n<table>\n    <thead>\n        <tr>\n            <th>Property</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>statusID</td>\n            <td>A unique identifier for this status.</td>\n        </tr>\n        <tr>\n            <td>name</td>\n            <td>A custom string that labels this status.</td>\n        </tr>\n        <tr>\n            <td>description</td>\n            <td>An optional description that elaborates on what this status means.</td>\n        </tr>\n    </tbody>\n</table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","statuses"],"host":["localhost"],"query":[{"key":"limit","value":"3"},{"key":"cursor","value":"1"},{"key":"name","value":"%ogr%"},{"key":"statuses","value":"1"}],"variable":[]}},"response":[{"id":"c9f8697b-4663-45f3-b841-57e1896cf61d","name":"Statuses","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/statuses?limit=3&cursor=1&name=%ogr%&statuses=1","protocol":"https","host":["localhost"],"port":"3000","path":["v2","statuses"],"query":[{"key":"limit","value":"3"},{"key":"cursor","value":"1"},{"key":"name","value":"%ogr%"},{"key":"statuses","value":"1"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"54","enabled":true},{"key":"ETag","value":"W/\"36-U1LfqGLykkFjWGhHOM+TbuyHmcw\"","enabled":true},{"key":"Date","value":"Fri, 18 Jun 2021 17:23:16 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"statusID\": 1,\n        \"name\": \"In Progress\",\n        \"description\": \"\"\n    }\n]"}],"_postman_id":"0dee70d2-1835-4b4c-b12a-7018966ed364"},{"name":"Create Status","id":"9242f5f9-7e15-4107-862d-6b20b6d2566e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"Blocked\",\n  \"description\": \"Task is blocked by external dependencies\",\n  \"sortOrder\": 3\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/statuses","description":"<p>Creates a new custom status for the customer account.</p>\n<p><strong>Request Body:</strong></p>\n<ul>\n<li><p><code>name</code> (string, required) - Status name, 1-100 characters, must be unique (case-insensitive)</p>\n</li>\n<li><p><code>description</code> (string, optional) - Status description, max 65535 characters</p>\n</li>\n<li><p><code>sortOrder</code> (integer, optional) - Display order, 0-99, auto-assigned if omitted</p>\n</li>\n</ul>\n<p><strong>Response (201 Created):</strong></p>\n<ul>\n<li><p><code>statusID</code> (number) - ID of the newly created status</p>\n</li>\n<li><p>Location header: <code>/v2/statuses?statuses={statusID}</code></p>\n</li>\n</ul>\n<p><strong>Validation:</strong></p>\n<ul>\n<li><p>Name must not conflict with existing statuses or defaults (\"Open\", \"In Progress\", \"Complete\")</p>\n</li>\n<li><p>Name is compared case-insensitively</p>\n</li>\n</ul>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","statuses"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"ff112540-4db0-4e30-81f6-7ea9d38d800d","name":"201 Created - Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"Blocked\",\n  \"description\": \"Task is blocked by external dependencies\",\n  \"sortOrder\": 3\n}"},"url":"https://localhost:3000/v2/statuses"},"status":"Created","code":201,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"},{"key":"Location","value":"/v2/statuses?statuses=10"}],"cookie":[],"responseTime":null,"body":"{\n  \"statusID\": 10\n}"},{"id":"2a2e3019-bf31-4435-9dcd-ccab7d96f619","name":"409 Conflict - Duplicate Name","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"name\": \"Open\"\n}"},"url":""},"status":"Conflict","code":409,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"success\": false,\n  \"message\": \"Status name already exists\"\n}"},{"id":"4e511a34-5124-4c32-89e6-0e08379002b2","name":"400 Bad Request - Invalid Input","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"Blocked\",\n  \"description\": \"Task is blocked by external dependencies\",\n  \"sortOrder\": 3\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/statuses","description":"Creates a new custom status for the customer account.\n\n**Request Body:**\n\n- `name` (string, required) - Status name, 1-100 characters, must be unique (case-insensitive)\n    \n- `description` (string, optional) - Status description, max 65535 characters\n    \n- `sortOrder` (integer, optional) - Display order, 0-99, auto-assigned if omitted\n    \n\n**Response (201 Created):**\n\n- `statusID` (number) - ID of the newly created status\n    \n- Location header: `/v2/statuses?statuses={statusID}`\n    \n\n**Validation:**\n\n- Name must not conflict with existing statuses or defaults (\"Open\", \"In Progress\", \"Complete\")\n    \n- Name is compared case-insensitively"},"status":"Bad Request","code":400,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"success\": false,\n  \"message\": \"Validation error: name is required and must be 1-100 characters\"\n}"}],"_postman_id":"9242f5f9-7e15-4107-862d-6b20b6d2566e"},{"name":"Update Status","id":"bccaa61e-8ce0-4f84-9260-0bf29a233bf6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"On Hold\",\n  \"description\": \"Task temporarily paused\",\n  \"sortOrder\": 5\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/statuses/:statusID","description":"<p>Updates an existing custom status. Default statuses (0, 1, 2) cannot be modified.</p>\n<p><strong>IMPORTANT NOTE:</strong> Changes to statuses automatically propogate to all tasks currently assigned that status.</p>\n<p><strong>Path Parameters:</strong></p>\n<ul>\n<li><code>statusID</code> (number, required) - ID of the status to update</li>\n</ul>\n<p><strong>Request Body (at least one field required):</strong></p>\n<ul>\n<li><p><code>name</code> (string, optional) - New status name, 1-100 characters, must be unique</p>\n</li>\n<li><p><code>description</code> (string, optional) - New description, max 65535 characters</p>\n</li>\n<li><p><code>sortOrder</code> (integer, optional) - New display order, 0-99</p>\n</li>\n</ul>\n<p><strong>Validation:</strong></p>\n<ul>\n<li><p>Cannot modify default statuses (IDs 0, 1, 2)</p>\n</li>\n<li><p>If changing name, must not conflict with existing statuses</p>\n</li>\n<li><p>Status must exist and belong to the customer</p>\n</li>\n</ul>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","statuses",":statusID"],"host":["localhost"],"query":[],"variable":[{"id":"8b7badbb-e1a4-4649-90df-1620d59b8282","description":{"content":"<p>The ID of the status to update</p>\n","type":"text/plain"},"type":"any","value":"10","key":"statusID"}]}},"response":[{"id":"6eed1eea-512f-41eb-8d5b-248002b1a87f","name":"200 OK - Success","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"On Hold\",\n  \"description\": \"Task temporarily paused\",\n  \"sortOrder\": 5\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://localhost:3000/v2/statuses/:statusID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","statuses",":statusID"],"variable":[{"key":"statusID","value":"10","description":"The ID of the status to update"}]},"description":"Updates an existing custom status. Default statuses (0, 1, 2) cannot be modified.\n\n**IMPORTANT NOTE:** Changes to statuses automatically propogate to all tasks currently assigned that status.\n\n**Path Parameters:**\n\n- `statusID` (number, required) - ID of the status to update\n    \n\n**Request Body (at least one field required):**\n\n- `name` (string, optional) - New status name, 1-100 characters, must be unique\n    \n- `description` (string, optional) - New description, max 65535 characters\n    \n- `sortOrder` (integer, optional) - New display order, 0-99\n    \n\n**Validation:**\n\n- Cannot modify default statuses (IDs 0, 1, 2)\n    \n- If changing name, must not conflict with existing statuses\n    \n- Status must exist and belong to the customer"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"statusID\": 10\n}"},{"id":"6d241de3-d6cc-4ec9-8dee-5108b0b5595f","name":"403 Forbidden - Default Status","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"On Hold\",\n  \"description\": \"Task temporarily paused\",\n  \"sortOrder\": 5\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://localhost:3000/v2/statuses/:statusID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","statuses",":statusID"],"variable":[{"key":"statusID","value":"10","description":"The ID of the status to update"}]},"description":"Updates an existing custom status. Default statuses (0, 1, 2) cannot be modified.\n\n**IMPORTANT NOTE:** Changes to statuses automatically propogate to all tasks currently assigned that status.\n\n**Path Parameters:**\n\n- `statusID` (number, required) - ID of the status to update\n    \n\n**Request Body (at least one field required):**\n\n- `name` (string, optional) - New status name, 1-100 characters, must be unique\n    \n- `description` (string, optional) - New description, max 65535 characters\n    \n- `sortOrder` (integer, optional) - New display order, 0-99\n    \n\n**Validation:**\n\n- Cannot modify default statuses (IDs 0, 1, 2)\n    \n- If changing name, must not conflict with existing statuses\n    \n- Status must exist and belong to the customer"},"status":"Forbidden","code":403,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"success\": false,\n  \"message\": \"Default statuses (0, 1, 2) cannot be modified\"\n}"},{"id":"306c604c-dc55-44c1-92ca-680061e60e1d","name":"404 Not Found","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"On Hold\",\n  \"description\": \"Task temporarily paused\",\n  \"sortOrder\": 5\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://localhost:3000/v2/statuses/:statusID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","statuses",":statusID"],"variable":[{"key":"statusID","value":"10","description":"The ID of the status to update"}]},"description":"Updates an existing custom status. Default statuses (0, 1, 2) cannot be modified.\n\n**IMPORTANT NOTE:** Changes to statuses automatically propogate to all tasks currently assigned that status.\n\n**Path Parameters:**\n\n- `statusID` (number, required) - ID of the status to update\n    \n\n**Request Body (at least one field required):**\n\n- `name` (string, optional) - New status name, 1-100 characters, must be unique\n    \n- `description` (string, optional) - New description, max 65535 characters\n    \n- `sortOrder` (integer, optional) - New display order, 0-99\n    \n\n**Validation:**\n\n- Cannot modify default statuses (IDs 0, 1, 2)\n    \n- If changing name, must not conflict with existing statuses\n    \n- Status must exist and belong to the customer"},"status":"Not Found","code":404,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"success\": false,\n  \"message\": \"Status not found\"\n}"},{"id":"ac5b68e3-08e2-4e32-983b-735b170bafe2","name":"409 Conflict - Duplicate Name","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"On Hold\",\n  \"description\": \"Task temporarily paused\",\n  \"sortOrder\": 5\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://localhost:3000/v2/statuses/:statusID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","statuses",":statusID"],"variable":[{"key":"statusID","value":"10","description":"The ID of the status to update"}]},"description":"Updates an existing custom status. Default statuses (0, 1, 2) cannot be modified.\n\n**IMPORTANT NOTE:** Changes to statuses automatically propogate to all tasks currently assigned that status.\n\n**Path Parameters:**\n\n- `statusID` (number, required) - ID of the status to update\n    \n\n**Request Body (at least one field required):**\n\n- `name` (string, optional) - New status name, 1-100 characters, must be unique\n    \n- `description` (string, optional) - New description, max 65535 characters\n    \n- `sortOrder` (integer, optional) - New display order, 0-99\n    \n\n**Validation:**\n\n- Cannot modify default statuses (IDs 0, 1, 2)\n    \n- If changing name, must not conflict with existing statuses\n    \n- Status must exist and belong to the customer"},"status":"Conflict","code":409,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"success\": false,\n  \"message\": \"Status name already exists\"\n}"}],"_postman_id":"bccaa61e-8ce0-4f84-9260-0bf29a233bf6"},{"name":"Delete Status","id":"070b1a9a-11ce-43f5-a012-4fd485ddbbab","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://localhost:3000/v2/statuses/:statusID?replacementStatusID=1","description":"<p>Deletes a custom status and reassigns all tasks using it. Default statuses (0, 1, 2) cannot be deleted.</p>\n<p><strong>IMPORTANT NOTE:</strong> Deleting task statuses that are currently in use will result in all tasks assigned that status being reset to status 0 (open).</p>\n<p><strong>Path Parameters:</strong></p>\n<ul>\n<li><code>statusID</code> (number, required) - ID of the status to delete</li>\n</ul>\n<p><strong>Query Parameters:</strong></p>\n<ul>\n<li><code>replacementStatusID</code> (number, required) - ID of the status to assign to tasks currently using the deleted status. Can be a default status (0, 1, 2) or another custom status.</li>\n</ul>\n<p><strong>Validation:</strong></p>\n<ul>\n<li><p>Cannot delete default statuses (IDs 0, 1, 2)</p>\n</li>\n<li><p>Both statusID and replacementStatusID must exist</p>\n</li>\n<li><p>replacementStatusID must differ from statusID</p>\n</li>\n<li><p>replacementStatusID must be valid for the customer</p>\n</li>\n</ul>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","statuses",":statusID"],"host":["localhost"],"query":[{"description":{"content":"<p>ID of the status to reassign tasks to (required)</p>\n","type":"text/plain"},"key":"replacementStatusID","value":"1"}],"variable":[{"id":"eede88f0-799f-471b-a86d-d29c23ed0de7","description":{"content":"<p>The ID of the status to delete</p>\n","type":"text/plain"},"type":"any","value":"10","key":"statusID"}]}},"response":[{"id":"cbaeb4f3-3186-411f-b5a3-be39e23d0f03","name":"204 No Content - Success","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://localhost:3000/v2/statuses/:statusID?replacementStatusID=1","protocol":"https","host":["localhost"],"port":"3000","path":["v2","statuses",":statusID"],"query":[{"key":"replacementStatusID","value":"1","description":"ID of the status to reassign tasks to (required)"}],"variable":[{"key":"statusID","value":"10","description":"The ID of the status to delete"}]},"description":"Deletes a custom status and reassigns all tasks using it. Default statuses (0, 1, 2) cannot be deleted.\n\n**IMPORTANT NOTE:** Deleting task statuses that are currently in use will result in all tasks assigned that status being reset to status 0 (open).\n\n**Path Parameters:**\n\n- `statusID` (number, required) - ID of the status to delete\n    \n\n**Query Parameters:**\n\n- `replacementStatusID` (number, required) - ID of the status to assign to tasks currently using the deleted status. Can be a default status (0, 1, 2) or another custom status.\n    \n\n**Validation:**\n\n- Cannot delete default statuses (IDs 0, 1, 2)\n    \n- Both statusID and replacementStatusID must exist\n    \n- replacementStatusID must differ from statusID\n    \n- replacementStatusID must be valid for the customer"},"status":"No Content","code":204,"_postman_previewlanguage":"Text","header":null,"cookie":[],"responseTime":null,"body":null},{"id":"54ff10c4-fc45-4d36-bbd4-e11029f1feea","name":"403 Forbidden - Default Status","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://localhost:3000/v2/statuses/:statusID?replacementStatusID=1","protocol":"https","host":["localhost"],"port":"3000","path":["v2","statuses",":statusID"],"query":[{"key":"replacementStatusID","value":"1","description":"ID of the status to reassign tasks to (required)"}],"variable":[{"key":"statusID","value":"10","description":"The ID of the status to delete"}]},"description":"Deletes a custom status and reassigns all tasks using it. Default statuses (0, 1, 2) cannot be deleted.\n\n**IMPORTANT NOTE:** Deleting task statuses that are currently in use will result in all tasks assigned that status being reset to status 0 (open).\n\n**Path Parameters:**\n\n- `statusID` (number, required) - ID of the status to delete\n    \n\n**Query Parameters:**\n\n- `replacementStatusID` (number, required) - ID of the status to assign to tasks currently using the deleted status. Can be a default status (0, 1, 2) or another custom status.\n    \n\n**Validation:**\n\n- Cannot delete default statuses (IDs 0, 1, 2)\n    \n- Both statusID and replacementStatusID must exist\n    \n- replacementStatusID must differ from statusID\n    \n- replacementStatusID must be valid for the customer"},"status":"Forbidden","code":403,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"success\": false,\n  \"message\": \"Default statuses (0, 1, 2) cannot be deleted\"\n}"},{"id":"106fe6c5-ae6d-43ac-8a13-8a9d4941db27","name":"400 Bad Request - Invalid Replacement","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://localhost:3000/v2/statuses/:statusID?replacementStatusID=1","protocol":"https","host":["localhost"],"port":"3000","path":["v2","statuses",":statusID"],"query":[{"key":"replacementStatusID","value":"1","description":"ID of the status to reassign tasks to (required)"}],"variable":[{"key":"statusID","value":"10","description":"The ID of the status to delete"}]},"description":"Deletes a custom status and reassigns all tasks using it. Default statuses (0, 1, 2) cannot be deleted.\n\n**IMPORTANT NOTE:** Deleting task statuses that are currently in use will result in all tasks assigned that status being reset to status 0 (open).\n\n**Path Parameters:**\n\n- `statusID` (number, required) - ID of the status to delete\n    \n\n**Query Parameters:**\n\n- `replacementStatusID` (number, required) - ID of the status to assign to tasks currently using the deleted status. Can be a default status (0, 1, 2) or another custom status.\n    \n\n**Validation:**\n\n- Cannot delete default statuses (IDs 0, 1, 2)\n    \n- Both statusID and replacementStatusID must exist\n    \n- replacementStatusID must differ from statusID\n    \n- replacementStatusID must be valid for the customer"},"status":"Bad Request","code":400,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"success\": false,\n  \"message\": \"replacementStatusID must be different from statusID\"\n}"},{"id":"e6c48f99-ec1a-4033-bc13-3185ccd1cd3b","name":"404 Not Found","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://localhost:3000/v2/statuses/:statusID?replacementStatusID=1","protocol":"https","host":["localhost"],"port":"3000","path":["v2","statuses",":statusID"],"query":[{"key":"replacementStatusID","value":"1","description":"ID of the status to reassign tasks to (required)"}],"variable":[{"key":"statusID","value":"10","description":"The ID of the status to delete"}]},"description":"Deletes a custom status and reassigns all tasks using it. Default statuses (0, 1, 2) cannot be deleted.\n\n**IMPORTANT NOTE:** Deleting task statuses that are currently in use will result in all tasks assigned that status being reset to status 0 (open).\n\n**Path Parameters:**\n\n- `statusID` (number, required) - ID of the status to delete\n    \n\n**Query Parameters:**\n\n- `replacementStatusID` (number, required) - ID of the status to assign to tasks currently using the deleted status. Can be a default status (0, 1, 2) or another custom status.\n    \n\n**Validation:**\n\n- Cannot delete default statuses (IDs 0, 1, 2)\n    \n- Both statusID and replacementStatusID must exist\n    \n- replacementStatusID must differ from statusID\n    \n- replacementStatusID must be valid for the customer"},"status":"Not Found","code":404,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"success\": false,\n  \"message\": \"Status not found\"\n}"}],"_postman_id":"070b1a9a-11ce-43f5-a012-4fd485ddbbab"}],"id":"7a47db66-d7eb-417a-ada6-867441c4d156","_postman_id":"7a47db66-d7eb-417a-ada6-867441c4d156","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Bills","item":[{"name":"Transactions","item":[{"name":"Add Bill Item","id":"e329055f-4dbe-4fe6-ab45-97628ed9d8ff","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"poItemID\":358,\r\n    \"qtyReceived\": 2\r\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/bills/:billID/transactions/","description":"<p>This request creates a Bill transaction by adding a Bill Item to an unclosed Bill.</p>\n<table>\n    <thead>\n        <tr>\n            <th>Parameter</th>\n            <th>Type</th>\n            <th>Required?</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n                <tr>\n            <td>poItemID</td>\n            <td>Int</td>\n            <td>Required</td>\n            <td>The ID of the item that has to be added to the Bill.</td>\n        </tr>\n        <tr>\n            <td>qtyReceived</td>\n            <td>Int</td>\n            <td>Required</td>\n            <td>The item quantity received on this Bill.</td>\n        </tr>\n    </tbody>\n</table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","bills",":billID","transactions",""],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>The ID of the bill for which an item needs to be added.</p>\n","type":"text/plain"},"type":"any","value":"425","key":"billID"}]}},"response":[{"id":"5edd5e1d-104b-4b72-a2f8-25e4b17caffd","name":"Add Bill Item","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"poItemID\":358,\r\n    \"qtyReceived\": 2\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://localhost:3000/v2/bills/:billID/transactions/","protocol":"https","host":["localhost"],"port":"3000","path":["v2","bills",":billID","transactions",""],"variable":[{"key":"billID","value":"425","description":"The ID of the bill for which an item needs to be added."}]}},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"21","enabled":true},{"key":"ETag","value":"W/\"15-pw2DnyuvYuAyuJcIRAXkpXeKXCg\"","enabled":true},{"key":"Date","value":"Thu, 02 Sep 2021 20:24:02 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"transactionID\": 399\n}"}],"_postman_id":"e329055f-4dbe-4fe6-ab45-97628ed9d8ff"},{"name":"Bill Transactions","id":"70a28803-897f-44c6-af33-36e400b8b8d5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/bills/transactions?bills=423&items=358&start=1630611650&end=1630611660&transactions=397&limit=10&locations=163","description":"<p>This request gets information about the transactions made for a Bill.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","bills","transactions"],"host":["localhost"],"query":[{"description":{"content":"<p>This parameter is used to only get specific Bill Transactions by billID. This parameter expects a comma delimited list of billIDs.</p>\n","type":"text/plain"},"key":"bills","value":"423"},{"description":{"content":"<p>This parameter is used to only get specific Bill Transactions by items in a Bill. This parameter expects a comma delimited list of poItem IDs.</p>\n","type":"text/plain"},"key":"items","value":"358"},{"description":{"content":"<p>This parameter is used to only get Bill Transactions that were created after or on the unix timestamp passed into it. </p>\n","type":"text/plain"},"key":"start","value":"1630611650"},{"description":{"content":"<p>This parameter is used to only get Bill transactions that were created before or on the unix timestamp passed into it. </p>\n","type":"text/plain"},"key":"end","value":"1630611660"},{"description":{"content":"<p>This parameter is used to only get specific Bill Transactions. This parameter expects a comma delimited list of transactionIDs.</p>\n","type":"text/plain"},"key":"transactions","value":"397"},{"description":{"content":"<p>This parameter is a result limiter. The default is set to return no more than 100 results at one time.</p>\n","type":"text/plain"},"key":"limit","value":"10"},{"description":{"content":"<p>This parameter is used to only get Bill Transactions at a specific group of Locations. This parameter accepts a comma delimited list of Location IDs.</p>\n","type":"text/plain"},"key":"locations","value":"163"}],"variable":[]}},"response":[{"id":"a01b6a80-2f3a-44db-94df-7782f4604765","name":"Bill Transaction","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":{"raw":"https://localhost:3000/v2/bills/transactions?bills=423&items=358&start=1630611650&end=1630611660&transactions=397&limit=10&locations=163","protocol":"https","host":["localhost"],"port":"3000","path":["v2","bills","transactions"],"query":[{"key":"bills","value":"423","description":"This parameter is used to only get specific Bill Transactions by billID. This parameter expects a comma delimited list of billIDs."},{"key":"items","value":"358","description":"This parameter is used to only get specific Bill Transactions by items in a Bill. This parameter expects a comma delimited list of poItem IDs."},{"key":"start","value":"1630611650","description":"This parameter is used to only get Bill Transactions that were created after or on the unix timestamp passed into it. "},{"key":"end","value":"1630611660","description":"This parameter is used to only get Bill transactions that were created before or on the unix timestamp passed into it. "},{"key":"transactions","value":"397","description":"This parameter is used to only get specific Bill Transactions. This parameter expects a comma delimited list of transactionIDs."},{"key":"limit","value":"10","description":"This parameter is a result limiter. The default is set to return no more than 100 results at one time."},{"key":"locations","value":"163","description":"This parameter is used to only get Bill Transactions at a specific group of Locations. This parameter accepts a comma delimited list of Location IDs."}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"132","enabled":true},{"key":"ETag","value":"W/\"84-r4SWpzv7VQXWLXZ7W0vT/84z27A\"","enabled":true},{"key":"Date","value":"Thu, 02 Sep 2021 19:43:06 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"transactionID\": 397,\n        \"billID\": 423,\n        \"poItemID\": 358,\n        \"qtyReceived\": 1,\n        \"dateReceived\": 1630611659,\n        \"meta\": {\n            \"bills\": \"/v2/bills?bills=423\"\n        }\n    }\n]"}],"_postman_id":"70a28803-897f-44c6-af33-36e400b8b8d5"},{"name":"Update Bill Transaction","id":"db2e78bb-41cb-4dc0-9a0c-a45dd5605d69","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"poItemID\":358,\r\n    \"qtyReceived\": 100\r\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/bills/:billID/transactions/:transactionID","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","bills",":billID","transactions",":transactionID"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>The ID of the Bill for which the transaction needs to be updated.</p>\n","type":"text/plain"},"type":"any","value":"425","key":"billID"},{"description":{"content":"<p>The ID of the transaction which needs ot be updated.</p>\n","type":"text/plain"},"type":"any","value":"399","key":"transactionID"}]}},"response":[{"id":"3798d1fb-74d3-4bd2-a5ec-9ac09bedac4c","name":"Update Bill Transaction","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"poItemID\":358,\r\n    \"qtyReceived\": 1\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://localhost:3000/v2/bills/:billID/transactions/:transactionID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","bills",":billID","transactions",":transactionID"],"variable":[{"key":"billID","value":"425","description":"The ID of the Bill for which the transaction needs to be updated."},{"key":"transactionID","value":"399","description":"The ID of the transaction which needs ot be updated."}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Thu, 02 Sep 2021 20:29:21 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"db2e78bb-41cb-4dc0-9a0c-a45dd5605d69"},{"name":"Bill Transaction","id":"234891ea-b810-4f4f-a798-7fcf709cd479","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://localhost:3000/v2/bills/transactions/:transactionID","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","bills","transactions",":transactionID"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>The ID of the Bill Transaction to be deleted.</p>\n","type":"text/plain"},"type":"any","value":"399","key":"transactionID"}]}},"response":[{"id":"dc323e7d-d99b-4686-b1d1-a6f8f577f780","name":"Bill Transaction","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://localhost:3000/v2/bills/transactions/:transactionID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","bills","transactions",":transactionID"],"variable":[{"key":"transactionID","value":"399","description":"The ID of the Bill Transaction to be deleted."}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Thu, 02 Sep 2021 20:33:50 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"234891ea-b810-4f4f-a798-7fcf709cd479"}],"id":"e12bbda2-80c0-4cd8-b9ca-64d87220bc16","_postman_id":"e12bbda2-80c0-4cd8-b9ca-64d87220bc16","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Comments","item":[{"name":"Bill Comments","id":"be55b9dd-a7b4-4a21-a7ff-d6e3e3ca8a4a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/bills/:billID/comments","description":"<p>This request gets all Bill Comments associated with a Bill.</p>\n<p><b>Return data description</b></p>\n\n<table><tbody><tr><th>Property</th><th>Description</th></tr><tr><td><div>commentID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>This is the commentID of comment.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>comment</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The text comment that was entered by the user.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>timestamp</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The date this comment was created. This is a unix timestamp.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>userID</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The ID of the user that made the comment.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>commentEmailAddress</div><div><div><div><div></div></div></div><div></div></div></td><td><div>The email address of the external user that made this comment. This is only populated if the comment was made by an external user via the comment reply system.</div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>commentFiles</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Array containing fileName and link properties.</div><div><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","bills",":billID","comments"],"host":["localhost"],"query":[{"disabled":true,"description":{"content":"<p>This parameter is a cursor that selects what commentID you want to start receiving results at. e.g. passing 100 here will only get you comments with an id greater than 100</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>This parameter is a result limiter. The default is set to return no more than 100 results at one time.</p>\n","type":"text/plain"},"key":"limit","value":""}],"variable":[{"description":{"content":"<p>billID of the Bill you are getting comments for</p>\n","type":"text/plain"},"type":"any","value":"1945","key":"billID"}]}},"response":[{"id":"58d663a1-ce4d-45f8-ad7d-583ecf566bf0","name":"Bill Comments","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/bills/:billID/comments","protocol":"https","host":["localhost"],"port":"3000","path":["v2","bills",":billID","comments"],"query":[{"key":"cursor","value":"","description":"This parameter is a cursor that selects what commentID you want to start receiving results at. e.g. passing 100 here will only get you comments with an id greater than 100","disabled":true},{"key":"limit","value":"","description":"This parameter is a result limiter. The default is set to return no more than 100 results at one time.","disabled":true}],"variable":[{"key":"billID","value":"1945","description":"billID of the Bill you are getting comments for"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"111","enabled":true},{"key":"ETag","value":"W/\"6f-mbtHv3QFb2QMa5o0z4FUMR3X2t8\"","enabled":true},{"key":"Date","value":"Mon, 31 Jul 2023 19:49:22 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"commentID\": 47,\n        \"comment\": \"Bill marked as paid\",\n        \"timestamp\": 1688165716,\n        \"userID\": 340,\n        \"commentFiles\": [],\n        \"commentEmailAddress\": \"\"\n    }\n]"}],"_postman_id":"be55b9dd-a7b4-4a21-a7ff-d6e3e3ca8a4a"},{"name":"Create Bill Comment","id":"5c0981f9-43a9-45a4-97e3-1efebb14f4b4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"comment\": \"Bill received.\",\n  \"showExternalUsers\": true\n}"},"url":"https://localhost:3000/v2/bills/:billID/comments","description":"<p>Adds a comment to a Bill.</p>\n<p>Parameters:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>In</th>\n<th>Type</th>\n<th>Required</th>\n<th>Default</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>billID</td>\n<td>path</td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n<td>Bill identifier</td>\n</tr>\n<tr>\n<td>comment</td>\n<td>body</td>\n<td>string</td>\n<td>yes</td>\n<td></td>\n<td>Comment text</td>\n</tr>\n<tr>\n<td>showExternalUsers</td>\n<td>body</td>\n<td>boolean</td>\n<td>no</td>\n<td>true</td>\n<td>Visible to external users</td>\n</tr>\n</tbody>\n</table>\n</div><p>Responses:</p>\n<ul>\n<li>201 Created: Returns commentID.</li>\n</ul>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","bills",":billID","comments"],"host":["localhost"],"query":[],"variable":[{"id":"49801704-897d-406f-87ef-ed071f6181ae","type":"any","value":"2001","key":"billID"}]}},"response":[{"id":"a0f11633-17f8-437e-ad08-08ff65ec289e","name":"201 Created","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"comment\": \"Bill received.\",\n  \"showExternalUsers\": true\n}"},"url":{"raw":"https://localhost:3000/v2/bills/:billID/comments","protocol":"https","host":["localhost"],"port":"3000","path":["v2","bills",":billID","comments"],"variable":[{"key":"billID","value":"2001"}]},"description":"Adds a comment to a Bill.\n\nParameters:\n\n| Parameter | In | Type | Required | Default | Description |\n|---|---|---|---|---|---|\n| billID | path | integer | yes |  | Bill identifier |\n| comment | body | string | yes |  | Comment text |\n| showExternalUsers | body | boolean | no | true | Visible to external users |\n\nResponses:\n- 201 Created: Returns commentID."},"status":"Created","code":201,"_postman_previewlanguage":"Text","header":null,"cookie":[],"responseTime":null,"body":"{ \n  \"commentID\": \"cmt_123\"\n }"}],"_postman_id":"5c0981f9-43a9-45a4-97e3-1efebb14f4b4"},{"name":"Upload Bill Comment File","id":"f7a274c7-7c67-49ab-b083-fe6bb9d497c3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"formdata","formdata":[{"key":"file","type":"file","value":null}]},"url":"https://localhost:3000/v2/bills/:billID/comments/:commentID/file","description":"<p>Uploads a file to a Bill comment.</p>\n<p>Parameters:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>In</th>\n<th>Type</th>\n<th>Required</th>\n<th>Default</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>billID</td>\n<td>path</td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n<td>Bill identifier</td>\n</tr>\n<tr>\n<td>commentID</td>\n<td>path</td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n<td>Comment identifier</td>\n</tr>\n<tr>\n<td>file</td>\n<td>form-data</td>\n<td>file</td>\n<td>yes</td>\n<td></td>\n<td>File to upload (max 50MB). Same types as PO comment files</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","bills",":billID","comments",":commentID","file"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"195","key":"billID"},{"type":"any","value":"61","key":"commentID"}]}},"response":[{"id":"826fe9de-864f-4182-a285-38ff5de2891d","name":"200 OK","originalRequest":{"method":"PUT","header":[],"body":{"mode":"formdata","formdata":[{"key":"file","type":"file"}]},"url":{"raw":"https://localhost:3000/v2/bills/:billID/comments/:commentID/file","protocol":"https","host":["localhost"],"port":"3000","path":["v2","bills",":billID","comments",":commentID","file"],"variable":[{"key":"billID","value":"195"},{"key":"commentID","value":"61"}]},"description":"Uploads a file to a Bill comment.\n\nParameters:\n\n| Parameter | In | Type | Required | Default | Description |\n|---|---|---|---|---|---|\n| billID | path | integer | yes |  | Bill identifier |\n| commentID | path | integer | yes |  | Comment identifier |\n| file | form-data | file | yes |  | File to upload (max 50MB). Same types as PO comment files |"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"f7a274c7-7c67-49ab-b083-fe6bb9d497c3"},{"name":"Delete Bill Comment File","id":"e27feae7-af9b-43dd-a3d3-9ff78ad24ee1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://localhost:3000/v2/bills/:billID/comments/:commentID/file?filename=receipt.png","description":"<p>Deletes a file from a Bill comment.</p>\n<p>Parameters:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>In</th>\n<th>Type</th>\n<th>Required</th>\n<th>Default</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>billID</td>\n<td>path</td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n<td>Bill identifier</td>\n</tr>\n<tr>\n<td>commentID</td>\n<td>path</td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n<td>Comment identifier</td>\n</tr>\n<tr>\n<td>filename</td>\n<td>query</td>\n<td>string</td>\n<td>yes</td>\n<td></td>\n<td>Exact filename to remove</td>\n</tr>\n</tbody>\n</table>\n</div><p>Responses:</p>\n<ul>\n<li>200 OK: Deleted.</li>\n<li>404 Not Found: File not found.</li>\n</ul>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","bills",":billID","comments",":commentID","file"],"host":["localhost"],"query":[{"key":"filename","value":"receipt.png"}],"variable":[{"id":"29240cb8-717d-448c-a119-9434676012b5","type":"any","value":"2001","key":"billID"},{"id":"9af262f1-ebd7-454b-bce3-3d7f849c88a8","type":"any","value":"12","key":"commentID"}]}},"response":[{"id":"b7bc6d9e-6686-4b72-a751-252736fa1590","name":"200 OK","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://localhost:3000/v2/bills/:billID/comments/:commentID/file?filename=receipt.png","protocol":"https","host":["localhost"],"port":"3000","path":["v2","bills",":billID","comments",":commentID","file"],"query":[{"key":"filename","value":"receipt.png"}],"variable":[{"key":"billID","value":"2001"},{"key":"commentID","value":"12"}]},"description":"Deletes a file from a Bill comment.\n\nParameters:\n\n| Parameter | In | Type | Required | Default | Description |\n|---|---|---|---|---|---|\n| billID | path | integer | yes |  | Bill identifier |\n| commentID | path | integer | yes |  | Comment identifier |\n| filename | query | string | yes |  | Exact filename to remove |\n\nResponses:\n- 200 OK: Deleted.\n- 404 Not Found: File not found."},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"e27feae7-af9b-43dd-a3d3-9ff78ad24ee1"},{"name":"Delete Bill Comment","id":"80c7349c-e5a1-484c-bbda-58478a7cf87a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://localhost:3000/v2/bills/:billID/comments/:commentID","description":"<p>Deletes a Bill comment.</p>\n<p>Parameters:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>In</th>\n<th>Type</th>\n<th>Required</th>\n<th>Default</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>billID</td>\n<td>path</td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n<td>Bill identifier</td>\n</tr>\n<tr>\n<td>commentID</td>\n<td>path</td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n<td>Comment identifier</td>\n</tr>\n</tbody>\n</table>\n</div><p>Responses:</p>\n<ul>\n<li>200 OK: Deleted.</li>\n<li>404 Not Found: Comment not found.</li>\n</ul>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","bills",":billID","comments",":commentID"],"host":["localhost"],"query":[],"variable":[{"id":"a3540d45-3a7e-4ba7-a0cf-9f77ae2e227c","type":"any","value":"2001","key":"billID"},{"id":"768a8434-93ab-437b-b7d7-49e174e2be7c","type":"any","value":"12","key":"commentID"}]}},"response":[{"id":"fb5bdeae-8c97-4965-8d75-413a892ebd3c","name":"200 OK","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://localhost:3000/v2/bills/:billID/comments/:commentID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","bills",":billID","comments",":commentID"],"variable":[{"key":"billID","value":"2001"},{"key":"commentID","value":"12"}]},"description":"Deletes a Bill comment.\n\nParameters:\n\n| Parameter | In | Type | Required | Default | Description |\n|---|---|---|---|---|---|\n| billID | path | integer | yes |  | Bill identifier |\n| commentID | path | integer | yes |  | Comment identifier |\n\nResponses:\n- 200 OK: Deleted.\n- 404 Not Found: Comment not found."},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"80c7349c-e5a1-484c-bbda-58478a7cf87a"}],"id":"334ce5c4-4d70-4efd-a07a-23a8dc906c6e","_postman_id":"334ce5c4-4d70-4efd-a07a-23a8dc906c6e","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Get Bills","id":"b037a1a0-481c-45a3-b542-fd54d4ceb7d3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/bills?bills=1&numbers=1&status=0,1&end=1697443800&limit=2&pos=5&start=1597443703&locations=163&cursor=0&page=2","description":"<p>This request gets information such as Bill IDs, Bill Numbers, etc.</p>\n<p>This call returns a \"meta\" object containing URLs that can be used to get data related to the Bill.</p>\n<p><strong>Note:</strong> this endpoint supports pagination. Please refer to the <a href=\"#pagination\"><strong>Pagination</strong></a> section for more information.</p>\n<p><b>Return data description</b></p>\n<table>\n    <thead>\n        <tr>\n            <th>Property</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>meta</td>\n            <td>useful links relating to this Bill</td>\n        </tr>\n        <tr>\n            <td>billID</td>\n            <td>The unique ID of the Bill.</td>\n        </tr>\n        <tr>\n            <td>billNumber</td>\n            <td>The bill number assigned to the Bill.</td>\n        </tr>\n        <tr>\n            <td>poID</td>\n            <td>The poID of which the Bill was made.</td>\n        </tr>\n        <tr>\n            <td>locationID</td>\n            <td>The unique ID of the location associated with this Bill.</td>\n        </tr>\n        <tr>\n            <td>date</td>\n            <td>The date this Bill was created as a UNIX timestamp.</td>\n        </tr>\n        <tr>\n            <td>status</td>\n            <td>The status of this Bill.\n            The status can be as follows:\n            0: The bill is setup.\n            1: The bill is submitted.\n            2: The bill is closed i.e. Marked as Paid</td>\n        </tr>\n        <tr>\n            <td>userID</td>\n            <td>The Id of the user this Bill was assigned to.</td>\n        </tr>\n        <tr>\n            <td>userIDStarted</td>\n            <td>The ID of the user this Bill was created by.</td>\n        </tr>\n        <tr>\n            <td>userIDMarkPaid</td>\n            <td>The ID of the user this Bill was marked paid by.</td>\n        </tr>\n        \n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>&lt;/tbody&gt;\n</code></pre></tbody></table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","bills"],"host":["localhost"],"query":[{"description":{"content":"<p>This parameter is used to only get specific Bills. This parameter expects a comma delimited list of billIDs.</p>\n","type":"text/plain"},"key":"bills","value":"1"},{"description":{"content":"<p>This parameter is used to only get specific Bills by Number. This parameter expects a comma delimited list of billNumbers.</p>\n","type":"text/plain"},"key":"numbers","value":"1"},{"description":{"content":"<p>This parameter is used to only get specific Bills by their status. The bill status could be 0,1 or 2</p>\n","type":"text/plain"},"key":"status","value":"0,1"},{"description":{"content":"<p>This parameter is used to only get Bills that were created before or on the unix timestamp passed into it. </p>\n","type":"text/plain"},"key":"end","value":"1697443800"},{"description":{"content":"<p>This parameter is a result limiter. The default is set to return no more than 100 results at one time.</p>\n","type":"text/plain"},"key":"limit","value":"2"},{"description":{"content":"<p>This parameter is used to only get specific Bills by POs. This parameter expects a comma delimited list of PO IDs.</p>\n","type":"text/plain"},"key":"pos","value":"5"},{"description":{"content":"<p>This parameter is used to only get Bills that were created after or on the unix timestamp passed into it. </p>\n","type":"text/plain"},"key":"start","value":"1597443703"},{"description":{"content":"<p>This parameter is used to only get Bills at a specific group of Locations. This parameter accepts a comma delimited list of Location IDs.</p>\n","type":"text/plain"},"key":"locations","value":"163"},{"description":{"content":"<p>This parameter is a cursor that selects what billID you want to start receiving results at. e.g. passing 130 here will only get you bills with an id greater than 130.</p>\n","type":"text/plain"},"key":"cursor","value":"0"},{"description":{"content":"<p>This parameter is used to paginate results based on the limit. Refer to Pagination section for more information.</p>\n","type":"text/plain"},"key":"page","value":"2"}],"variable":[]}},"response":[{"id":"93f01074-fc6e-45d3-86fd-38ce1e08547a","name":"Get Bills","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/bills?bills=1&numbers=1&status=0,1&end=1697443800&pos=5&start=1597443703&locations=163&cursor=0","protocol":"https","host":["localhost"],"port":"3000","path":["v2","bills"],"query":[{"key":"bills","value":"1","description":"This parameter is used to only get specific Bills. This parameter expects a comma delimited list of billIDs."},{"key":"numbers","value":"1","description":"This parameter is used to only get specific Bills by Number. This parameter expects a comma delimited list of billNumbers."},{"key":"status","value":"0,1","description":"This parameter is used to only get specific Bills by their status. The bill status could be 0,1 or 2\n"},{"key":"end","value":"1697443800","description":"This parameter is used to only get Bills that were created before or on the unix timestamp passed into it. "},{"key":"limit","value":"2","description":"This parameter is a result limiter. The default is set to return no more than 100 results at one time.","disabled":true},{"key":"pos","value":"5","description":"This parameter is used to only get specific Bills by POs. This parameter expects a comma delimited list of PO IDs."},{"key":"start","value":"1597443703","description":"This parameter is used to only get Bills that were created after or on the unix timestamp passed into it. "},{"key":"locations","value":"163","description":"This parameter is used to only get Bills at a specific group of Locations. This parameter accepts a comma delimited list of Location IDs."},{"key":"cursor","value":"0","description":"This parameter is a cursor that selects what billID you want to start receiving results at. e.g. passing 130 here will only get you bills with an id greater than 130."},{"key":"page","value":"2","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"242","enabled":true},{"key":"ETag","value":"W/\"f2-DlNO4PLuYyTDOFtSzMCeQ+7NAWI\"","enabled":true},{"key":"Date","value":"Mon, 29 Nov 2021 23:25:11 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"billID\": 1,\n        \"poID\": 5,\n        \"status\": 1,\n        \"userID\": 340,\n        \"userIDStarted\": 340,\n        \"userIDMarkPaid\": 0,\n        \"billNumber\": 1,\n        \"locationID\": 163,\n        \"date\": 1597443703,\n        \"meta\": {\n            \"items\": \"/v2/po/items?pos=5\",\n            \"po\": \"/v2/po?pos=5\",\n            \"transactions\": \"/v2/bills/transactions?bills=1\"\n        }\n    }\n]"},{"id":"5f197247-b557-4567-80ff-0e7e77b5b9dd","name":"Pagination using Page & Limit","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/bills?limit=2&locations=163&page=2","protocol":"https","host":["localhost"],"port":"3000","path":["v2","bills"],"query":[{"key":"bills","value":"1","description":"This parameter is used to only get specific Bills. This parameter expects a comma delimited list of billIDs.","disabled":true},{"key":"numbers","value":"1","description":"This parameter is used to only get specific Bills by Number. This parameter expects a comma delimited list of billNumbers.","disabled":true},{"key":"status","value":"0,1","description":"This parameter is used to only get specific Bills by their status. The bill status could be 0,1 or 2\n","disabled":true},{"key":"end","value":"1697443800","description":"This parameter is used to only get Bills that were created before or on the unix timestamp passed into it. ","disabled":true},{"key":"limit","value":"2","description":"This parameter is a result limiter. The default is set to return no more than 100 results at one time."},{"key":"pos","value":"5","description":"This parameter is used to only get specific Bills by POs. This parameter expects a comma delimited list of PO IDs.","disabled":true},{"key":"start","value":"1597443703","description":"This parameter is used to only get Bills that were created after or on the unix timestamp passed into it. ","disabled":true},{"key":"locations","value":"163","description":"This parameter is used to only get Bills at a specific group of Locations. This parameter accepts a comma delimited list of Location IDs."},{"key":"cursor","value":"0","description":"This parameter is a cursor that selects what billID you want to start receiving results at. e.g. passing 130 here will only get you bills with an id greater than 130.","disabled":true},{"key":"page","value":"2"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Last-Page","value":"/v2/bills?limit=2&locations=163&page=3","enabled":true},{"key":"Next-Page","value":"/v2/bills?limit=2&locations=163&page=3","enabled":true},{"key":"Previous-Page","value":"/v2/bills?limit=2&locations=163&page=1","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"485","enabled":true},{"key":"ETag","value":"W/\"1e5-1Nyk15MklLw/GjNoGn5LOdonq98\"","enabled":true},{"key":"Date","value":"Mon, 29 Nov 2021 23:26:12 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"billID\": 3,\n        \"poID\": 8,\n        \"status\": 2,\n        \"userID\": 340,\n        \"userIDStarted\": 340,\n        \"userIDMarkPaid\": 340,\n        \"billNumber\": 3,\n        \"locationID\": 163,\n        \"date\": 1607461222,\n        \"meta\": {\n            \"items\": \"/v2/po/items?pos=8\",\n            \"po\": \"/v2/po?pos=8\",\n            \"transactions\": \"/v2/bills/transactions?bills=3\"\n        }\n    },\n    {\n        \"billID\": 5,\n        \"poID\": 1,\n        \"status\": 1,\n        \"userID\": 342,\n        \"userIDStarted\": 340,\n        \"userIDMarkPaid\": 0,\n        \"billNumber\": 4,\n        \"locationID\": 163,\n        \"date\": 1608749750,\n        \"meta\": {\n            \"items\": \"/v2/po/items?pos=1\",\n            \"po\": \"/v2/po?pos=1\",\n            \"transactions\": \"/v2/bills/transactions?bills=5\"\n        }\n    }\n]"}],"_postman_id":"b037a1a0-481c-45a3-b542-fd54d4ceb7d3"},{"name":"New Bill","id":"9c72410e-f277-4f89-9853-7deb63bc0515","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{ \r\n\"poID\":381,\r\n\"userID\": 340\r\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/bills/","description":"<p>This request creates a new Bill for a Purchase Order.</p>\n<table>\n    <thead>\n        <tr>\n            <th>Parameter</th>\n            <th>Type</th>\n            <th>Required?</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n                <tr>\n            <td>poID</td>\n            <td>Int</td>\n            <td>Required</td>\n            <td>The poID for which the Bill is made.</td>\n        </tr>\n        <tr>\n            <td>userID</td>\n            <td>Int</td>\n            <td>Optional</td>\n            <td>The ID of the user that this Bill will be assigned to.</td>\n        </tr>\n    </tbody>\n</table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","bills",""],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"08405ddf-e8d2-4748-8c31-b9df46dfd36e","name":"New Bill","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{ \r\n\"poID\":381,\r\n\"userID\": 340\r\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/bills/"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"14","enabled":true},{"key":"ETag","value":"W/\"e-X+Q7YfebxrQjJPkAwNDPyGhMoFM\"","enabled":true},{"key":"Date","value":"Thu, 02 Sep 2021 19:08:02 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"billID\": 423\n}"}],"_postman_id":"9c72410e-f277-4f89-9853-7deb63bc0515"},{"name":"Update Bill","id":"3be6196c-9953-497c-8ed8-efac5c8e73d1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"userID\": 340,\r\n    \"status\": 2\r\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/bills/:billID","description":"<p>This request updates a Bill. </p>\n<table>\n    <thead>\n        <tr>\n            <th>Parameter</th>\n            <th>Type</th>\n            <th>Required?</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>userID</td>\n            <td>Int</td>\n            <td>Optional</td>\n            <td>The ID of the user that this Bill will be assigned to.</td>\n        </tr>\n        <tr>\n            <td>status</td>\n            <td>Int</td>\n            <td>Optional</td>\n            <td>The status of this Bill.\n            Refer to GET Bill to understand what values status can be. <b>A bill status cannot be reduced once it is changed.</b> </td>\n        </tr>\n    </tbody>\n</table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","bills",":billID"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"423","key":"billID"}]}},"response":[{"id":"4ec07b2b-6094-4581-887a-5582d3e2fc47","name":"Update Bill","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"userID\": 340,\r\n    \"status\": 1\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://localhost:3000/v2/bills/:billID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","bills",":billID"],"variable":[{"key":"billID","value":"423"}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Thu, 02 Sep 2021 19:37:45 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"3be6196c-9953-497c-8ed8-efac5c8e73d1"},{"name":"Delete Bill","id":"e1707c16-9b80-4653-a6f1-3cd763c54a22","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://localhost:3000/v2/bills/:billID","description":"<p>This request deletes a Bill. This will also delete any Bill transactions for PO Items that were received on this Bill. The qty and price of the PO Items on the Bill will be recalculated.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","bills",":billID"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>The ID of the Bill to be deleted.</p>\n","type":"text/plain"},"type":"any","value":"226","key":"billID"}]}},"response":[{"id":"d95ab558-ec40-45d4-9a58-42d67199ec98","name":"Delete Bill","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://localhost:3000/v2/bills/:billID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","bills",":billID"],"variable":[{"key":"billID","value":"329","description":"The ID of the Bill to be deleted."}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Thu, 26 Aug 2021 19:28:30 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"e1707c16-9b80-4653-a6f1-3cd763c54a22"}],"id":"d0d0c77b-85bc-4059-85d9-ea5301077fe0","_postman_id":"d0d0c77b-85bc-4059-85d9-ea5301077fe0","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Regions","item":[{"name":"Regions","id":"10b4c3bd-4c08-4ab8-9e36-2fa0b8e4ecca","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/regions/?regions=1&name=%One%&cursor=0&limit=100","description":"<p>This request returns your Regions in Limble.  </p>\n<p><b>Return data description</b></p>\n<table>\n    <thead>\n        <tr>\n            <th>Property</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>regionID</td>\n            <td>The ID of the Region</td>\n        </tr>\n        <tr>\n            <td>regionName</td>\n            <td>The name of the Region</td>\n        </tr>\n        <tr>\n            <td>parentRegionID</td>\n            <td>The regionID of the parent of a region. </td>\n        </tr>\n    </tbody>\n</table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","regions",""],"host":["localhost"],"query":[{"description":{"content":"<p>This parameter is used to only get regions in the list provided. This parameter accepts a comma delimited list of Region IDs.</p>\n","type":"text/plain"},"key":"regions","value":"1"},{"description":{"content":"<p>This parameter is used to only get specific regions by name. This parameter expects a string- the full name of a region\n or partial name with the wildcard %.</p>\n","type":"text/plain"},"key":"name","value":"%One%"},{"description":{"content":"<p>This parameter is a cursor that selects what regionID you want to start receiving results at. e.g. passing 137 here will only get you regions\n with an id greater than 137.</p>\n","type":"text/plain"},"key":"cursor","value":"0"},{"description":{"content":"<p>This parameter is a result limiter. The default is set to return no more than 100 \nresults at one time.</p>\n","type":"text/plain"},"key":"limit","value":"100"}],"variable":[]}},"response":[{"id":"768d792e-4d17-409b-bb86-0e0f38e2e3c8","name":"Regions","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/regions/?regions=1&name=%One%&cursor=0&limit=100","protocol":"https","host":["localhost"],"port":"3000","path":["v2","regions",""],"query":[{"key":"regions","value":"1","description":"This parameter is used to only get regions in the list provided. This parameter accepts a comma delimited list of Region IDs."},{"key":"name","value":"%One%","description":"This parameter is used to only get specific regions by name. This parameter expects a string- the full name of a region\n or partial name with the wildcard %."},{"key":"cursor","value":"0","description":"This parameter is a cursor that selects what regionID you want to start receiving results at. e.g. passing 137 here will only get you regions\n with an id greater than 137."},{"key":"limit","value":"100","description":"This parameter is a result limiter. The default is set to return no more than 100 \nresults at one time."}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"61","enabled":true},{"key":"ETag","value":"W/\"3d-nJoQDouvpQVv65US+cAa9PznOOg\"","enabled":true},{"key":"Date","value":"Mon, 30 Aug 2021 22:43:46 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"regionID\": 1,\n        \"regionName\": \"One region\",\n        \"parentRegionID\": 0\n    }\n]"}],"_postman_id":"10b4c3bd-4c08-4ab8-9e36-2fa0b8e4ecca"},{"name":"Create Region","id":"998b3ea0-b883-4156-89e1-e46e30255f9d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"North Region\",\n  \"parentRegionID\": 0\n}"},"url":"https://localhost:3000/v2/regions","description":"<p>Creates a region.</p>\n<p>Parameters:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>In</th>\n<th>Type</th>\n<th>Required</th>\n<th>Default</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>name</td>\n<td>body</td>\n<td>string</td>\n<td>yes</td>\n<td></td>\n<td>Region name</td>\n</tr>\n<tr>\n<td>parentRegionID</td>\n<td>body</td>\n<td>integer</td>\n<td>no</td>\n<td>0</td>\n<td>Parent region (≥ 0)</td>\n</tr>\n</tbody>\n</table>\n</div><p>Responses:</p>\n<ul>\n<li>201 Created: { regionID } with Location header.</li>\n</ul>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","regions"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"0c6fba11-bf92-4cf5-ad90-c62fa3c81e86","name":"201 Created","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"North Region\",\n  \"parentRegionID\": 0\n}"},"url":"https://localhost:3000/v2/regions","description":"Creates a region.\n\nParameters:\n\n| Parameter | In | Type | Required | Default | Description |\n|---|---|---|---|---|---|\n| name | body | string | yes |  | Region name |\n| parentRegionID | body | integer | no | 0 | Parent region (≥ 0) |\n\nResponses:\n- 201 Created: { regionID } with Location header."},"status":"Created","code":201,"_postman_previewlanguage":"Text","header":[{"key":"Location","value":"/v2/regions?regions=123"}],"cookie":[],"responseTime":null,"body":"{ \n  \"regionID\": 123\n }"}],"_postman_id":"998b3ea0-b883-4156-89e1-e46e30255f9d"},{"name":"Update Region","id":"349e1d9b-1e8d-4c84-aad0-33f8f027851a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"Northwest\",\n  \"parentRegionID\": 1\n}"},"url":"https://localhost:3000/v2/regions/:regionID","description":"<p>Updates a region.</p>\n<p>Parameters:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>In</th>\n<th>Type</th>\n<th>Required</th>\n<th>Default</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>regionID</td>\n<td>path</td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n<td>Region identifier</td>\n</tr>\n<tr>\n<td>name</td>\n<td>body</td>\n<td>string</td>\n<td>no</td>\n<td></td>\n<td>New name</td>\n</tr>\n<tr>\n<td>parentRegionID</td>\n<td>body</td>\n<td>integer</td>\n<td>no</td>\n<td></td>\n<td>New parent (≥ 1)</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","regions",":regionID"],"host":["localhost"],"query":[],"variable":[{"id":"2f04b9d8-9d01-40fb-8e87-465312ceedb8","type":"any","value":"123","key":"regionID"}]}},"response":[{"id":"b78c631f-aad4-465f-a54e-32d843c7cade","name":"200 OK","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"Northwest\",\n  \"parentRegionID\": 1\n}"},"url":{"raw":"https://localhost:3000/v2/regions/:regionID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","regions",":regionID"],"variable":[{"key":"regionID","value":"123"}]},"description":"Updates a region.\n\nParameters:\n\n| Parameter | In | Type | Required | Default | Description |\n|---|---|---|---|---|---|\n| regionID | path | integer | yes |  | Region identifier |\n| name | body | string | no |  | New name |\n| parentRegionID | body | integer | no |  | New parent (≥ 1) |"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"349e1d9b-1e8d-4c84-aad0-33f8f027851a"},{"name":"Delete Region","id":"61eb31db-6091-496a-a7c1-f15c10eebb18","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://localhost:3000/v2/regions/:regionID","description":"<p>Deletes a region.</p>\n<p>Parameters:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>In</th>\n<th>Type</th>\n<th>Required</th>\n<th>Default</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>regionID</td>\n<td>path</td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n<td>Region identifier</td>\n</tr>\n</tbody>\n</table>\n</div><p>Responses:</p>\n<ul>\n<li>200 OK: Deleted.</li>\n<li>404 Not Found: Region does not exist.</li>\n</ul>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","regions",":regionID"],"host":["localhost"],"query":[],"variable":[{"id":"b5956795-bb5f-4171-81bd-353993b2e244","type":"any","value":"123","key":"regionID"}]}},"response":[{"id":"c61e3eb7-833b-4475-aa2d-1cd86b95c48e","name":"200 OK","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://localhost:3000/v2/regions/:regionID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","regions",":regionID"],"variable":[{"key":"regionID","value":"123"}]},"description":"Deletes a region.\n\nParameters:\n\n| Parameter | In | Type | Required | Default | Description |\n|---|---|---|---|---|---|\n| regionID | path | integer | yes |  | Region identifier |\n\nResponses:\n- 200 OK: Deleted.\n- 404 Not Found: Region does not exist."},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"61eb31db-6091-496a-a7c1-f15c10eebb18"}],"id":"e3230057-13e2-4323-8e19-3206bd05448c","_postman_id":"e3230057-13e2-4323-8e19-3206bd05448c","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Webhooks","item":[{"name":"Get Webhooks","id":"6c82c330-20a3-40f8-ab13-6313307b0925","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/webhooks/","description":"<p>This request returns your Webhooks configured for Limble.  </p>\n<p><b>Return data description</b></p>\n<table>\n    <thead>\n        <tr>\n            <th>Property</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>webhhokID</td>\n            <td>The ID of the Webhook</td>\n        </tr>\n        <tr>\n            <td>endpoint</td>\n            <td>The webhook URL.</td>\n        </tr>\n        <tr>\n            <td>type</td>\n            <td>The type of webhook. Webhooks can be of type task, po, poItem. </td>\n        </tr>\n        <tr>\n            <td>enabled</td>\n            <td>Determines if the webhook is enabled. 0 = Disabled 1=Enabled</td>\n        </tr>\n    </tbody>\n</table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","webhooks",""],"host":["localhost"],"query":[{"disabled":true,"description":{"content":"<p>This parameter is used to only get specific Webhooks. This parameter expects a comma delimited list of webhookIDs.</p>\n","type":"text/plain"},"key":"webhooks","value":"24"},{"disabled":true,"description":{"content":"<p>This parameter is used for a string search by the webhook endpoint. This parameter expects a URL or partial URL of a webhook using a string with the wildcard %.</p>\n","type":"text/plain"},"key":"endpoint","value":"%hello.com"},{"disabled":true,"description":{"content":"<p>This parameter is used to only get Webhooks of a specific type. This parameter accepts a comma delimited list of webhook types.</p>\n","type":"text/plain"},"key":"type","value":"task"},{"disabled":true,"description":{"content":"<p>This parameter is used to get Webooks which are enabled. This paramter expects 1: Enabled or 0: Disabled</p>\n","type":"text/plain"},"key":"enabled","value":"1"},{"disabled":true,"description":{"content":"<p>This parameter is a cursor that selects what webhookID you want to start receiving results at. e.g. passing 10 here will only get you webhooks with an id greater than 10.</p>\n","type":"text/plain"},"key":"cursor","value":"0"},{"disabled":true,"description":{"content":"<p>This parameter is a result limiter. The default is set to return no more than 100 results at one time.</p>\n","type":"text/plain"},"key":"limit","value":"100"}],"variable":[]}},"response":[{"id":"fd393d31-22f6-4d89-aeed-909253019a52","name":"Get Webhooks","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/webhooks/?webhooks=24&endpoint=https://hello.com&type=task&enabled=1&cursor=0&limit=100","protocol":"https","host":["localhost"],"port":"3000","path":["v2","webhooks",""],"query":[{"key":"webhooks","value":"24","description":"This parameter is used to only get specific Webhooks. This parameter expects a comma delimited list of webhookIDs."},{"key":"endpoint","value":"https://hello.com","description":"This parameter is used for a string search by the webhook endpoint. This parameter expects a URL or partial URL of a webhook using a string with the wildcard %."},{"key":"type","value":"task","description":"This parameter is used to only get Webhooks of a specific type. This parameter accepts a comma delimited list of webhook types."},{"key":"enabled","value":"1","description":"This parameter is used to get Webooks which are enabled. This paramter expects 1: Enabled or 0: Disabled"},{"key":"cursor","value":"0","description":"This parameter is a cursor that selects what webhookID you want to start receiving results at. e.g. passing 10 here will only get you webhooks with an id greater than 10."},{"key":"limit","value":"100","description":"This parameter is a result limiter. The default is set to return no more than 100 results at one time."}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"75","enabled":true},{"key":"ETag","value":"W/\"4b-/5O3GAJQax2AFF5ufY0U+T5LM40\"","enabled":true},{"key":"Date","value":"Mon, 08 Nov 2021 18:30:19 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"webhookID\": 24,\n        \"endpoint\": \"https://hello.com\",\n        \"type\": \"task\",\n        \"enabled\": 1\n    }\n]"}],"_postman_id":"6c82c330-20a3-40f8-ab13-6313307b0925"},{"name":"Delete Webhook","id":"9003d6de-f135-42ed-8755-a8e2b0ae1cf9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/webhooks/:webhookID","description":"<p>This request deletes a Webhook.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","webhooks",":webhookID"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>This parameter expects a webhookID.</p>\n","type":"text/plain"},"type":"any","value":"2","key":"webhookID"}]}},"response":[{"id":"13591373-2cfa-4caa-89a7-cd361b151481","name":"Delete Webhook","originalRequest":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":{"raw":"https://localhost:3000/v2/webhooks/:webhookID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","webhooks",":webhookID"],"variable":[{"key":"webhookID","value":"42","description":"This parameter expects a webhookID."}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Date","value":"Mon, 08 Nov 2021 18:43:54 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true},{"key":"Content-Length","value":"0","enabled":true}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"9003d6de-f135-42ed-8755-a8e2b0ae1cf9"},{"name":"New Webhook","id":"aa9df04c-f945-4599-960c-99b8686db81c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"endpoint\": \"https://hello.com\",\r\n    \"type\": \"assetField\",\r\n    \"enabled\": 0\r\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/webhooks/","description":"<p>This requests creates a new Webhook.</p>\n<table>\n    <thead>\n        <tr>\n            <th>Parameter</th>\n            <th>Type</th>\n            <th>Required?</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>endpoint</td>\n            <td>URL</td>\n            <td>Required</td>\n            <td>The webhook URL.</td>\n        </tr>\n        <tr>\n            <td>type</td>\n            <td>String</td>\n            <td>Required</td>\n            <td>The type of webhook. Refer to GET webhooks for type values</td>\n        </tr>\n        <tr>\n            <td>enabled</td>\n            <td>Int</td>\n            <td>Optional</td>\n            <td>Should the webhook be enabled or disabled. It is enabled(1) by default.</td>\n        </tr>\n    </tbody></table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","webhooks",""],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"40d458c3-f75e-49bb-aa93-c98eb665f145","name":"New Webhook","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"endpoint\": \"https://foo.com\",\r\n    \"type\": \"task\",\r\n    \"enabled\": 0\r\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/webhooks/"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"16","enabled":true},{"key":"ETag","value":"W/\"10-L2DANtdlrmzlF6EsyfIwlpo6Bxc\"","enabled":true},{"key":"Date","value":"Mon, 08 Nov 2021 18:42:43 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"webhookID\": 42\n}"}],"_postman_id":"aa9df04c-f945-4599-960c-99b8686db81c"},{"name":"Update Webhook","id":"681c7830-39c9-4a9f-be5e-cffb357e48a3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"endpoint\": \"https://hello123wf\",\r\n    \"type\": \"task\",\r\n    \"enabled\": 0\r\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/webhooks/:webhookID","description":"<p>This requests updates a Webhook.</p>\n<table>\n    <thead>\n        <tr>\n            <th>Parameter</th>\n            <th>Type</th>\n            <th>Required?</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>endpoint</td>\n            <td>URL</td>\n            <td>Optional</td>\n            <td>The webhook URL.</td>\n        </tr>\n        <tr>\n            <td>type</td>\n            <td>String</td>\n            <td>Optional</td>\n            <td>The type of webhook. Refer to GET webhooks for type values</td>\n        </tr>\n        <tr>\n            <td>enabled</td>\n            <td>Int</td>\n            <td>Optional</td>\n            <td>Enable (1) or disable a webhook(0)</td>\n        </tr>\n    </tbody></table>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","webhooks",":webhookID"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>This parameter expects a webhookID.</p>\n","type":"text/plain"},"type":"any","value":"42","key":"webhookID"}]}},"response":[{"id":"6b0268af-2898-4d96-996d-e5193694fd0e","name":"Update Webhook","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"endpoint\": \"https://foobar.com\",\r\n    \"type\": \"task\",\r\n    \"enabled\": 1\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://localhost:3000/v2/webhooks/:webhookID","protocol":"https","host":["localhost"],"port":"3000","path":["v2","webhooks",":webhookID"],"variable":[{"key":"webhookID","value":"42","description":"This parameter expects a webhookID."}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"X-DNS-Prefetch-Control","value":"off","enabled":true},{"key":"Expect-CT","value":"max-age=0","enabled":true},{"key":"X-Frame-Options","value":"SAMEORIGIN","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubDomains","enabled":true},{"key":"X-Download-Options","value":"noopen","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-Permitted-Cross-Domain-Policies","value":"none","enabled":true},{"key":"Referrer-Policy","value":"no-referrer","enabled":true},{"key":"X-XSS-Protection","value":"0","enabled":true},{"key":"API-Feedback-Link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"16","enabled":true},{"key":"ETag","value":"W/\"10-oV4hJxRVSENxc/wX8+mA4/Pe4tA\"","enabled":true},{"key":"Date","value":"Mon, 08 Nov 2021 18:43:21 GMT","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Keep-Alive","value":"timeout=5","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true\n}"}],"_postman_id":"681c7830-39c9-4a9f-be5e-cffb357e48a3"}],"id":"3084e27e-8060-4f43-b5c7-d05fc0c6baf9","_postman_id":"3084e27e-8060-4f43-b5c7-d05fc0c6baf9","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}},{"name":"Units of Measure","item":[{"name":"Get Units","id":"0bbaafea-d20e-4807-bea8-b66a51989145","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:3000/v2/uom","description":"<p>This endpoint makes an HTTP GET request to retrieve the unit of measurement (UOM) data. The response of this request is documented as a JSON schema.</p>\n<p><b>Return data description</b></p>\n\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Property</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>unitCode</td>\n<td>The identifier of this unit of measure. It is some random text for custom units (e.g. <code>j5VEKvW-TD8femkRe02KV</code>) and it is something semantic for provided units (e.g. <code>fluid_ounce</code>)</td>\n</tr>\n<tr>\n<td>name</td>\n<td>The full name of a unit to make it clear what it is.</td>\n</tr>\n<tr>\n<td>abbreviation</td>\n<td>The abbreviated name of a unit that is used for compact formatting such as <code>fl oz</code>. Can override the default abbreviation of a provided unit. E.g. if the default abbreviation of fluid ounce is <code>fl oz</code>, you can make it <code>oz.</code></td>\n</tr>\n<tr>\n<td>defaultAbbreviation</td>\n<td>This is always the same as abbreviation for custom units. For provided units, this never changes. If you choose to alias the abbreviation, this will show the original, and the abbreivation property will be your alias.</td>\n</tr>\n<tr>\n<td>category</td>\n<td>Also known as the \"physical quantity\" of a unit, which tells you what exactly this is measuring. The possibilities are <code>volume</code>, <code>weight</code>, <code>length</code>, <code>count</code>. All custom units will have the category of <code>count</code>, as there is no way to setup custom conversion rates.</td>\n</tr>\n<tr>\n<td>isCustom</td>\n<td>Boolean which tells you if this is a custom unit or provided unit.</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","uom"],"host":["localhost"],"query":[{"disabled":true,"description":{"content":"<p>This parameter is used to only get specific units. This parameter accepts a comma delimited list of unit codes.</p>\n","type":"text/plain"},"key":"unitCodes","value":"fluid_ounce_us, W0gzuwOpmOo_dXKtrc2RL"},{"disabled":true,"description":{"content":"<p>This parameter is a result limiter. The default is 20 units and the max is 100.</p>\n","type":"text/plain"},"key":"limit","value":"10"},{"disabled":true,"description":{"content":"<p>This parameter is used to paginate results based on the limit. Refer to Pagination section for more information. </p>\n","type":"text/plain"},"key":"page","value":"2"},{"disabled":true,"description":{"content":"<p>Filter by units that have a name which starts with this string.</p>\n","type":"text/plain"},"key":"nameStartsWith","value":"p"},{"disabled":true,"description":{"content":"<p>Filter by units that have an abbreviation which starts with this string.</p>\n","type":"text/plain"},"key":"abbreviationStartsWith","value":"l"}],"variable":[]}},"response":[{"id":"09581e79-2d04-4cfc-8002-b57f5eb9d684","name":"Get Units of Measure","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://localhost:3000/v2/uom","protocol":"https","host":["localhost"],"port":"3000","path":["v2","uom"],"query":[{"key":"unitCodes","value":"fluid_ounce_us, W0gzuwOpmOo_dXKtrc2RL","description":"This parameter is used to only get specific units. This parameter accepts a comma delimited list of unit codes.","disabled":true},{"key":"limit","value":"10","description":"This parameter is a result limiter. The default is 20 units and the max is 100.","disabled":true},{"key":"page","value":"2","description":"This parameter is used to paginate results based on the limit. Refer to Pagination section for more information. ","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 18 Dec 2024 21:45:14 GMT","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Transfer-Encoding","value":"chunked","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"vary","value":"Accept-Encoding","enabled":true},{"key":"content-security-policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"x-dns-prefetch-control","value":"off","enabled":true},{"key":"expect-ct","value":"max-age=0","enabled":true},{"key":"x-frame-options","value":"SAMEORIGIN","enabled":true},{"key":"strict-transport-security","value":"max-age=31536000; includeSubDomains; preload","enabled":true},{"key":"x-download-options","value":"noopen","enabled":true},{"key":"x-content-type-options","value":"nosniff","enabled":true},{"key":"x-permitted-cross-domain-policies","value":"none","enabled":true},{"key":"referrer-policy","value":"no-referrer","enabled":true},{"key":"x-xss-protection","value":"0","enabled":true},{"key":"api-feedback-link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"x-ratelimit-limit","value":"4000","enabled":true},{"key":"x-ratelimit-minute-limit","value":"360","enabled":true},{"key":"x-ratelimit-remaining","value":"3993","enabled":true},{"key":"x-ratelimit-first-call","value":"1734557517","enabled":true},{"key":"x-ratelimit-minute-remaining","value":"358","enabled":true},{"key":"x-ratelimit-minute-first-call","value":"1734558279","enabled":true},{"key":"etag","value":"W/\"d10-/EWTCwrZiFHL68MATSUvQ09Nr8I\"","enabled":true},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0","enabled":true},{"key":"Content-Encoding","value":"gzip","enabled":true},{"key":"CF-Cache-Status","value":"DYNAMIC","enabled":true},{"key":"Server","value":"cloudflare","enabled":true},{"key":"CF-RAY","value":"8f4256b6cee0f0c2-DFW","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"unitCode\": \"gallon_us\",\n        \"defaultAbbreviation\": \"gal\",\n        \"abbreviation\": \"gal\",\n        \"name\": \"Gallon\",\n        \"isCustom\": false,\n        \"category\": \"volume\"\n    },\n    {\n        \"unitCode\": \"milliliter\",\n        \"defaultAbbreviation\": \"mL\",\n        \"abbreviation\": \"mL\",\n        \"name\": \"Milliliter\",\n        \"isCustom\": false,\n        \"category\": \"volume\"\n    },\n    {\n        \"unitCode\": \"meter\",\n        \"defaultAbbreviation\": \"m\",\n        \"abbreviation\": \"m\",\n        \"name\": \"Meter\",\n        \"isCustom\": false,\n        \"category\": \"length\"\n    },\n    {\n        \"unitCode\": \"inch\",\n        \"defaultAbbreviation\": \"in\",\n        \"abbreviation\": \"in\",\n        \"name\": \"Inch\",\n        \"isCustom\": false,\n        \"category\": \"length\"\n    },\n    {\n        \"unitCode\": \"foot\",\n        \"defaultAbbreviation\": \"ft\",\n        \"abbreviation\": \"ft\",\n        \"name\": \"Foot\",\n        \"isCustom\": false,\n        \"category\": \"length\"\n    },\n    {\n        \"unitCode\": \"centimeter\",\n        \"defaultAbbreviation\": \"cm\",\n        \"abbreviation\": \"cm\",\n        \"name\": \"Centimeter\",\n        \"isCustom\": false,\n        \"category\": \"length\"\n    },\n    {\n        \"unitCode\": \"box\",\n        \"defaultAbbreviation\": \"box\",\n        \"abbreviation\": \"BoX\",\n        \"name\": \"Box\",\n        \"isCustom\": false,\n        \"category\": \"count\"\n    },\n    {\n        \"unitCode\": \"case\",\n        \"defaultAbbreviation\": \"case\",\n        \"abbreviation\": \"case\",\n        \"name\": \"Case\",\n        \"isCustom\": false,\n        \"category\": \"count\"\n    },\n    {\n        \"unitCode\": \"drum\",\n        \"defaultAbbreviation\": \"drum\",\n        \"abbreviation\": \"drum\",\n        \"name\": \"Drum\",\n        \"isCustom\": false,\n        \"category\": \"count\"\n    },\n    {\n        \"unitCode\": \"milligram\",\n        \"defaultAbbreviation\": \"mg\",\n        \"abbreviation\": \"mg\",\n        \"name\": \"Milligram\",\n        \"isCustom\": false,\n        \"category\": \"weight\"\n    }\n]"}],"_postman_id":"0bbaafea-d20e-4807-bea8-b66a51989145"},{"name":"Create Unit","id":"a8f95988-fe86-4094-8fcd-fff918934a1f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\": \"Crate\",\r\n    \"abbreviation\": \"crt\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/uom","description":"<p>The <code>POST /v2/uom</code> endpoint is used to create a new custom unit. The request should include a JSON payload with the <code>name</code> and <code>abbreviation</code> fields.</p>\n<h3 id=\"request-body\">Request Body</h3>\n<ul>\n<li><p><code>name</code> (string): The full name of the unit.</p>\n</li>\n<li><p><code>abbreviation</code> (string): A compact name of the unit.</p>\n</li>\n</ul>\n<h3 id=\"response\">Response</h3>\n<p>The full unit object of your newly created unit.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","uom"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"073bf557-1be9-4eea-8a09-0518ee2f9437","name":"Create Custom Unit","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\": \"Crate\",\r\n    \"abbreviation\": \"crt\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/uom"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 18 Dec 2024 22:02:31 GMT","enabled":true},{"key":"Content-Type","value":"application/json; charset=utf-8","enabled":true},{"key":"Content-Length","value":"12","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"content-security-policy","value":"default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests","enabled":true},{"key":"x-dns-prefetch-control","value":"off","enabled":true},{"key":"expect-ct","value":"max-age=0","enabled":true},{"key":"x-frame-options","value":"SAMEORIGIN","enabled":true},{"key":"strict-transport-security","value":"max-age=31536000; includeSubDomains; preload","enabled":true},{"key":"x-download-options","value":"noopen","enabled":true},{"key":"x-content-type-options","value":"nosniff","enabled":true},{"key":"x-permitted-cross-domain-policies","value":"none","enabled":true},{"key":"referrer-policy","value":"no-referrer","enabled":true},{"key":"x-xss-protection","value":"0","enabled":true},{"key":"api-feedback-link","value":"https://portal.productboard.com/zodsn5nylisgwqkcbx9rh6kp/","enabled":true},{"key":"x-ratelimit-limit","value":"1000","enabled":true},{"key":"x-ratelimit-minute-limit","value":"240","enabled":true},{"key":"x-ratelimit-remaining","value":"999","enabled":true},{"key":"x-ratelimit-first-call","value":"1734559351","enabled":true},{"key":"x-ratelimit-minute-remaining","value":"239","enabled":true},{"key":"x-ratelimit-minute-first-call","value":"1734559351","enabled":true},{"key":"etag","value":"W/\"c-WW3p7oHGmRPSDlikVfxkjR8mB9g\"","enabled":true},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0","enabled":true},{"key":"CF-Cache-Status","value":"DYNAMIC","enabled":true},{"key":"Set-Cookie","value":"__cf_bm=WvlwmLtXsMwmUNVNBQymsrVbtpuZyCbtM2d_hHMwOys-1734559351-1.0.1.1-JmdcUOSBtbN.l_F71Tm0HAhLr1z1cSqCuw9xrT3zPxAIZbFotHWkhDoff6MjRvgF7w3IbDkd7TlO3KuJcO14eQ; path=/; expires=Wed, 18-Dec-24 22:32:31 GMT; domain=.limblestaging.com; HttpOnly; Secure; SameSite=None","enabled":true},{"key":"Server","value":"cloudflare","enabled":true},{"key":"CF-RAY","value":"8f427008ebd2485d-DFW","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"unitCode\": \"JXGOdSI45mJ4oRXElEWgu\",\n    \"name\": \"Crate\",\n    \"abbreviation\": \"crt\",\n    \"defaultAbbreviation\": \"crt\",\n    \"category\": \"count\",\n    \"isCustom\": true\n}"}],"_postman_id":"a8f95988-fe86-4094-8fcd-fff918934a1f"},{"name":"Update Unit","id":"804a6714-3b7d-458d-a342-fd4d2a246905","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\": \"Barrel\",\r\n    \"abbreviation\": \"BRL\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:3000/v2/uom/:unitCode","description":"<p>The HTTP PATCH request is used to update a specific unit identified by its unit code. The request should be made to the endpoint <code>https://localhost:3000/v2/uom/:unitCode</code>, where <code>:unitCode</code> is the unique identifier of the unit being updated.</p>\n<h3 id=\"request-body\">Request Body</h3>\n<p>The body is interpreted slightly differently, depending on whether the <code>unitCode</code> in the url is for a custom unit or a provided unit. If it is custom, then either property can be used to update the unit. If it is a provided unit, the <code>name</code> property will be ignored and only the <code>abbreviation</code> property will be used to override the defaut one. You can also use <code>null</code> to remove the override from the provided unit. If either property is <code>null</code> for a custom unit, that property will not be updated.</p>\n<p>The request should include a JSON payload with the following parameters:</p>\n<ul>\n<li><p><code>name</code> (string): The full name of the unit.</p>\n</li>\n<li><p><code>abbreviation</code> (string): A compact name of the unit.</p>\n</li>\n</ul>\n<h3 id=\"response\">Response</h3>\n<p>The full object of the updated unit.</p>\n","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}},"urlObject":{"protocol":"https","port":"3000","path":["v2","uom",":unitCode"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>The unit identifier.</p>\n","type":"text/plain"},"type":"any","value":"E979vVp936_8kV0amzLre","key":"unitCode"}]}},"response":[{"id":"378154e3-fd99-4510-8bd9-d6cfc3ee703e","name":"Update Custom Unit","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\": \"Barrel\",\r\n    \"abbreviation\": \"BRL\"\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://localhost:3000/v2/uom/:unitCode","protocol":"https","host":["localhost"],"port":"3000","path":["v2","uom",":unitCode"],"variable":[{"key":"unitCode","value":"E979vVp936_8kV0amzLre","description":"The unit identifier."}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"unitCode\": \"E979vVp936_8kV0amzLre\",\n    \"name\": \"Barrel\",\n    \"abbreviation\": \"BRL\",\n    \"defaultAbbreviation\": \"BRL\",\n    \"category\": \"count\",\n    \"isCustom\": true\n}"},{"id":"31eeb864-a00b-4f7c-8e6e-1c4ac02f2c23","name":"Update Provided Unit","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"abbreviation\": \"EA\"\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://localhost:3000/v2/uom/:unitCode","protocol":"https","host":["localhost"],"port":"3000","path":["v2","uom",":unitCode"],"variable":[{"key":"unitCode","value":"each","description":"The unit identifier."}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"unitCode\": \"each\",\n    \"defaultAbbreviation\": \"ea\",\n    \"abbreviation\": \"EA\",\n    \"name\": \"Each\",\n    \"isCustom\": false,\n    \"category\": \"count\"\n}"}],"_postman_id":"804a6714-3b7d-458d-a342-fd4d2a246905"}],"id":"43a6ce4d-9952-48c3-9b81-ac1ec03c5f9f","_postman_id":"43a6ce4d-9952-48c3-9b81-ac1ec03c5f9f","description":"","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}}],"id":"ec26d137-7e7b-4576-a168-5aef7786c04c","description":"<p>Limble's API is broken apart by different categories that contain multiple routes.  This approach allows you to easily see eveyrthing that can be added, edited or removed for different Limble modules.</p>\n","event":[{"listen":"prerequest","script":{"id":"feee5397-8fe3-4b79-9344-5cea6f61597c","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"60753a99-0d8e-4412-a730-df31d8b36ea3","type":"text/javascript","exec":[""]}}],"_postman_id":"ec26d137-7e7b-4576-a168-5aef7786c04c","auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"},"isInherited":true,"source":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","type":"collection"}}}],"auth":{"type":"basic","basic":{"password":"{{clientSecret}}","username":"{{clientID}}"}},"event":[{"listen":"prerequest","script":{"id":"1f453536-143f-4df5-a1c5-d4bc76ba03a8","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"d1212988-0096-42d0-a471-00503e845213","type":"text/javascript","exec":["pm.test(\"Response time is less than 5s\", () => {","    pm.expect(pm.response.responseTime).to.be.below(5000);","});","","pm.test(\"Response some kind of successful\", () => {","    pm.expect(pm.response.code).to.be.below(300);","})",""]}}],"variable":[{"key":"protocol","value":"https"},{"key":"server","value":"localhost"},{"key":"port","value":"3000"}]}